我有两个表格,一个是简单的字符串/ID查找表:
StrTable:
str_key String 0 'a' 1 'b'
其中字符串是唯一的。另一个表格更为复杂,包括共享的string_id:
ValTable:
str_key other_key val 0 0 1.234 0 1 1.567 1 0 1.890
现在,我想要对ValTable进行更新,使用一个字符串来查找StrTable获取str_key。简单的更新方式如下:
StrTable:
str_key String 0 'a' 1 'b'
其中字符串是唯一的。另一个表格更为复杂,包括共享的string_id:
ValTable:
str_key other_key val 0 0 1.234 0 1 1.567 1 0 1.890
现在,我想要对ValTable进行更新,使用一个字符串来查找StrTable获取str_key。简单的更新方式如下:
UPDATE ValTable SET val = 2.124 WHERE str_key = 0 AND other_key = 1 LIMIT 1
IF @@ROWCOUNT=0 INSERT INTO ValTable VALUES (0,1,2.124);
那么我如何修改这个查询,以便使用某个字符串'a'查找str_key?我猜我需要一个join,但我从未在update中使用过join。或者我只需在where子句中添加更多条件吗?