在另一个表中努力更新UPDATE值,其中第一个表的所有字段都是特定值,第一个表和其他表共享一个字段值

时间:2016-02-17 14:42:51

标签: mysql sql

我有两张桌子。 表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...

这是与订单有关还是我完全错了?

2 个答案:

答案 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函数,它工作正常,谢谢!