2012-11-05 42 views
-3
SELECT col1,col2 FROM t1 INNER JOIN t2 ON t1.col1 = t2.id where t2.col2 ='1' 
SELECT col1,col2 FROM t1 INNER JOIN t2 ON t1.col2 = t2.id where t2.col1 ='1' 

我可以在單個查詢中合併兩個查詢嗎? 我試過當時使用!然後在內部連接條件下

+3

放工會 – mcalex

+0

看到相應的where子句中的列 – Notepad

+1

'union'應該如果列在數量和名稱相同的工作變動。你的看起來像他們應該工作。你得到什麼結果? – mcalex

回答

1

怎麼樣UNION

SELECT col1,col2 FROM t1 INNER JOIN t2 ON t1.col1 = t2.id where t2.col2 ='1' 
UNION 
SELECT col1,col2 FROM t1 INNER JOIN t2 ON t1.col2 = t2.id where t2.col1 ='1' 
+0

除聯盟以外的任何操作 – Notepad

+0

它們屬於哪個表:'col1,col2'? –

+0

朋友關係和用戶詳細信息 – Notepad

0
SELECT col1,col2 FROM t1, t2 
WHERE 
(t1.col1 = t2.id AND t2.col2 = '1') 
OR 
(t1.col2 = t2.id AND t2.col1 = '1') 

是另一種方式。但UNION也應該真的有效。

0

這聽起來像你希望兩個選擇之間

SELECT col1, col2 
FROM (
SELECT col1,col2 FROM t1 INNER JOIN t2 ON t1.col1 = t2.id where t2.col2 ='1' 
UNION 
SELECT col1,col2 FROM t1 INNER JOIN t2 ON t1.col2 = t2.id where t2.col1 ='1' 
    ) 
ORDER BY whatever