2012-04-22 50 views
0

後,我需要從多個工會選擇不同的值。 我需要在不同數據庫上的多個表上使用聯合。 但我我嘗試使用此代碼:選擇多個工會

SELECT DISTINCT name ((SELECT name FROM tab1) UNION (SELECT name FROM tab2)) 

我有這樣的錯誤:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION (SELECT name FROM tab2)' at line 1 

回答

2

你不需要用 「獨特」。 UNION已經爲您提供了不同的結果。

SELECT name FROM tab1 
UNION 
SELECT name FROM tab2 

這給你正確的result.By的方式,如果你想獲取從您需要使用DB name.Please參考下面這個不同數據庫中的數據;

SELECT name FROM db1.tab1 
UNION 
SELECT name FROM db2.tab2 
+0

你是對的,UNION只返回不同的值。 – 2012-04-22 13:40:40

1
SELECT DISTINCT name FROM ((SELECT name FROM tab1) UNION (SELECT name FROM tab2)) as sth 
2

試試這個:

SELECT DISTINCT name FROM (
    SELECT name FROM tab1 
    UNION 
    SELECT name FROM tab2 
) TABLEALIAS 
0

你需要一個FROM,併爲內部結果的別名:

SELECT DISTINCT name 
FROM (
    SELECT name FROM tab1 
    UNION 
    SELECT name FROM tab2 
) x 

但是,你並不需要DISTINCT有可言,UNION已經刪除重複。