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
4

4 に答える 4

3

これを試して:

SELECT DISTINCT name FROM (
    SELECT name FROM tab1 
    UNION 
    SELECT name FROM tab2
) TABLEALIAS
于 2012-04-22T13:35:27.187 に答える
2

「個別」を使用する必要はありません。UNION は、すでに明確な結果をもたらします。

SELECT name FROM tab1
UNION
SELECT name FROM tab2

これにより、正しい結果が得られます。ちなみに、別のデータベースからデータをフェッチする場合は、データベース名を使用する必要があります。これについては、以下を参照してください。

SELECT name FROM db1.tab1
UNION
SELECT name FROM db2.tab2
于 2012-04-22T13:37:46.057 に答える
1
SELECT DISTINCT name FROM ((SELECT name FROM tab1) UNION (SELECT name FROM tab2)) as sth
于 2012-04-22T13:33:30.520 に答える
0

FROM、、および内部結果のエイリアスが必要です。

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

DISTINCTただし、そこにはまったく必要ありませんUNION。すでに重複が削除されています。

于 2012-04-22T13:46:39.210 に答える