从多个列的子查询中选择记录

时间:2010-11-24 17:07:29

标签: sqlite

我想做这样的事情:

假设我有两个表,myTable1和myTable2。假设这两个表都有列myColumn1和myColumn2。

update
   myTable1
set
   myTable1.myFlagColumn = 1
where
    myTable1.myColumn1, myTable1.myColumn2
       in
          (select myTable2.myColumn1, myTable2.myColumn2 from myTable2)

基本上,如果myTable1和myTable2中的两列匹配,我想更改myTable1中的值。

这可能吗?

1 个答案:

答案 0 :(得分:5)

是的,但您将使用EXISTS条款:

 update
    myTable1
 set
    myTable1.myFlagColumn = 1
 where
     EXISTS
     (select * FROM myTable2 WHERE myTable2.myColumn1 = myTable1.myColumn1 
     AND myTable2.myColumn2 = myTable1.myColumn2)
相关问题