Sqlite 从多列子查询中选择记录
我想这样做: 假设我有两张表,myTable1和myTable2。假设这两个表都有列myColumn1和myColumn2Sqlite 从多列子查询中选择记录,sqlite,Sqlite,我想这样做: 假设我有两张表,myTable1和myTable2。假设这两个表都有列myColumn1和myColumn2 update myTable1 set myTable1.myFlagColumn = 1 where myTable1.myColumn1, myTable1.myColumn2 in (select myTable2.myColumn1, myTable2.myColumn2 from myTable2) 基本上,
update
myTable1
set
myTable1.myFlagColumn = 1
where
myTable1.myColumn1, myTable1.myColumn2
in
(select myTable2.myColumn1, myTable2.myColumn2 from myTable2)
基本上,如果有任何行myTable1和myTable2中的两列相匹配,我想更改myTable1中的一个值
这可能吗?是的,但您将使用EXISTS子句:
update
myTable1
set
myTable1.myFlagColumn = 1
where
EXISTS
(select * FROM myTable2 WHERE myTable2.myColumn1 = myTable1.myColumn1
AND myTable2.myColumn2 = myTable1.myColumn2)
我的建议是对每一列使用单独的select查询对每一列使用单独的select查询是不同的。如果myTable2有行((1,2),(3,4)),myTable1有(1,4),那么当他想要一个负结果时,每列的单独选择将是正的。