比较两个表中的行并输出结果

时间:2009-12-12 00:25:05

标签: sql database transactions

大家好我一直在尝试比较两个有不同列的类似表

表1列有ID_A,X,Y,Z和 表2列ID_B,X,Y,Z

如果列X,Y或Z的值均为= 1 查询的结果将输出列

ID_A,ID_B,X,Y,Z

我认为它会是一个交叉语句,但我遇到了问题,因为列的名称和ID_A和ID_B的值完全不同。

这个SQL语句会是什么样的?我很欣赏任何想法,一直在为这个想法敲打我的头。

1 个答案:

答案 0 :(得分:2)

要输出两个表中的行,内部联接将起作用:

select       *
from         table1 a
inner join   table2 b
on           a.x = b.x and a.y = b.y and a.z = b.z

要仅列出两个表中x = 1,y = 1或z = 1的行,请添加where子句,如;

where        a.x = 1 or a.y = 1 or a.z = 1