2009-12-12 67 views
0

好傢伙比較行,我一直試圖比較有一些不同的列從兩個表,並和ouputting結果

表1中的列ID_A,X,Y,Z和 表2有兩個類似的表ID_B,X,Y,Z的列

如果從列X或Y或Z雙方的值= 1 查詢的結果將輸出列

ID_A,ID_B,X,Y,Z

我認爲這將是一個inte rsect語句在那裏,但我有問題,因爲ID_A和ID_B的列的名稱和值是完全不同的。

此SQL語句的外觀如何?我會很感激任何想法,一直在我的頭上撞牆。

+0

...「X或Y或Z是= 1」??你的意思是X或Y或Z是相等的?或(X = 1)或(Y = 1)或(Z = 1)? – ram 2009-12-12 01:23:36

回答

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  a.x = 1 or a.y = 1 or a.z = 1 
+0

但是,如何添加if x,y或z = 1的參數 – 2009-12-12 00:31:58

+0

@Chris Allen:您可以爲此添加where子句?回答編輯 – Andomar 2009-12-12 00:34:13