我有两张桌子。 表1有客户信息 表2有预订信息 表1将CustomerEmail作为主键,表2也具有CustomerEmail。
我试图创建一个SQL语句来更新表2中的字段值(比如说P),其中表1的所有字段都有一定的值,表1的CustomerEmail等于表2。 / p>
之前我没有使用过UPDATE,也不熟悉使用JOIN' s。 目前我尝试过这样的事情:
UPDATE Table 2 SET P='Yes'
LEFT JOIN Table 1 On Table2.CustomerEmail=Table1.CustomerEmail
WHERE Table1.value1='something1'
AND Table1.value2='something2' up to 14 values etc...
这是与订单有关还是我完全错了?
答案 0 :(得分:0)
你可以使用这样的EXISTS():
UPDATE Table2
SET P='Yes'
WHERE EXISTS(select 1 from Table1
WHERE Table2.CustomerEmail=Table1.CustomerEmail
AND Table1.value1='something1'
AND Table1.value2='something2'
AND....)
这将检查table1中是否存在具有相同id和所有列值的行,如果是,则会更新该行。
答案 1 :(得分:0)
我使用sagi评论的exists函数,它工作正常,谢谢!