2013-07-30 121 views
5

我有不同的表具有相同的結構,我想通過他們的列之一加入他們。SQL加入兩個表無關

問題是他們不共享該列中的信息。

Table 1 - Type A: 

Name | Value 

Table 2 - Type B: 

Name | Value 

結果表:

(在單柱)

nameFromA 

nameFromB 
... 

到目前爲止,我曾嘗試:

SELECT TABLE1.NAME, TABLE2.NAME 
FROM TABLE1, TABLE2 
WHERE TABLE1.NAME = 'SearchQuery' 
OR TABLE2.NAME = 'SearchQuery' LIMIT 2; 

我知道我的查詢是錯誤的,因爲我打電話給我想要的更多專欄,但我不確定如何將所有內容加入到單個專欄中。我怎樣才能做到這一點?

+2

我們展示您的數據! –

+0

感謝您的回覆。你究竟需要什麼?我的數據庫已經建好。它有21個表,每個30列。 –

回答

6

你試過了嗎?

SELECT TABLE1.NAME 
FROM TABLE1 
WHERE TABLE1.NAME = 'SearchQuery' 

UNION 

SELECT TABLE2.NAME 
FROM TABLE2 
WHERE TABLE2.NAME = 'SearchQuery'; 

您可能需要使用UNION ALL如果你不想排除重複的值。

要限制你的結果集,你可以做這樣的事情:

SELECT * FROM (HERE GOES ABOVE QUERY) LIMIT 2; 
+0

也許'ALL',我只是不能把'UNION'和'ALL'放在我的帖子中,因爲防火牆......( –

+0

@GoatCO是的,如果他想要重複的值。 – letiagoalves

+0

完美謝謝! –

0

的問題是,他們不同意該列中的信息。

如果他們不同意你想要加入的列的任何信息,聯接是meaningless.


一個簡單的加入應該是這樣的:

SELECT Name FROM Table1 t1 
JOIN Table2 ON (t1.Name=t2.Name)