如何比较SQLite中不同表中的两个值?

时间:2016-01-12 11:51:05

标签: sql sqlite

我正在尝试从另一个表中创建一个where子句,其中包含2个匹配值,例如 SQLite

表1:

Date|CID|text
1/1/90 22:22:22 1 hi
1/1/90 21:22:30 1 How are you
1/1/90 03:22:22 3 hey 

表2:

ID|date|CID|text
100 1/1/89 11:22:11 1 hello
200 1/1/90 22:22:22 1 hi
300 1/1/90 21:22:30 1 How are you
400 1/1/90 03:22:22 3 hey
500 1/1/85 02:22:22 3 hey
600 1/1/90 03:22:22 80 hey

如何让查询从表2中找到与表1中的IDCID匹配的date

注意:如果我在中使用where 结果,并且在ID 600和400的情况下匹配某些日期,那么结果将在查询上我不这么认为。

只需在表1中匹配CIDdate即可。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您可能需要join有两个条件

select t1.*, t2.id
from table1 t1 join
     table2 t2
     on t1.id = t2.cid and t1.date = t2.date;

如果您希望将所有行保留在table1中,即使是那些没有匹配项的行,也请改为使用left join