Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 从多列子查询中选择记录_Sqlite - Fatal编程技术网

Sqlite 从多列子查询中选择记录

Sqlite 从多列子查询中选择记录,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) 基本上,

我想这样做:

假设我有两张表,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中的一个值


这可能吗?

是的,但您将使用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),那么当他想要一个负结果时,每列的单独选择将是正的。