2012-04-22 13 views
0

複数のユニオンから別個の値を選択する必要があります。 異なるデータベース上の複数の表で共用体を使用する必要はありません。 しかし、私、私はこのコードを使用しよう:複数のユニオンの後に選択

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

私はこのエラーを持っている:あなたは "明確な" を使用する必要がいけない

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

答えて

2

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 
+0

あなたが正しいです、UNIONは、異なる値だけを返します。 –

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

はこれを試してみてください。 UNIONはすでに別個の結果を提供します。

SELECT name FROM tab1 
UNION 
SELECT name FROM tab2 

あなたはこのために、以下の参照してくださいname.Pleaseデシベルを使用する必要があり、別のデータベースからデータを取得したい場合、これは、あなたが正しいresult.Byに道を譲ります。

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

あなたはFROMを必要とし、内側の結果の別名:しかし、あなたがすべてでありDISTINCTを必要としない、UNIONはすでに重複を取り除き

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

関連する問題