我有两个表T1和T2。 T1看起来像这样:
print (id)
print(text)
T2看起来像这样:
ID Type Date
_____________________________
1 CA 11-17-2018
2 BA 7-12-2018
3 CA 4-1-2018
4 BA 1-17-2018
5 CA 9-30-2018
我需要一种方法来比较两个具有匹配ID的表中的行,并查看其他值是否匹配或它们是否不同。我只希望输出表包含具有不同值的那些ID,并显示这些值。预先感谢。
答案 0 :(得分:2)
尝试一下:
SELECT T1.ID, T1.Type as T1Type, T2.Type as T2Type, T1.Date as T1Date, T2.Date as T2Date
FROM T1
INNER JOIN T2
ON T1.ID = T2.ID
WHERE T1.DATE <> T2.DATE
OR T1.Type <> T2.Type
请注意,此查询将仅返回两个表中都存在ID
的结果。
答案 1 :(得分:1)
我认为您需要inner join and comparison
select T1.*,T2.* from T1 inner join T2 on T1.id=T2.id
where T1.Type!=T2.Type and T1.Date!=T2.Date
答案 2 :(得分:0)
您将使用join
:
select t1.*, t2.*
from t1 join
t2
on t1.id = t2.id
where (t1.type <> t2.type) or (t1.date <> t2.date)
答案 3 :(得分:0)
您可以在其中一个表中放置一个外键,后者将引用另一个。
进行选择时,可以通过主键和外键将一个表与另一个表进行联接。
SELECT column FROM table1 JOIN table2 ON table1.id_pk = table2.id_fk WHERE condition;
在其中放置类似
的内容WHERE (table1.id != table2.id) OR (table1.type != table2.type) OR (table1.date != table2.date);