0

結合する 2 つのテーブルの結果があります。

table1:
name 
product

table2:
name
product

できます

select * from table1 where product LIKE 'p%' limit 3

また:

select * from table2 where product LIKE 'p%' limit 3

しかし、結合すると、次の結果が得られます。

(select * from table1 where product LIKE 'p%' limit 3)
UNION ALL
(select * from table2 where product LIKE 'p%' limit 3)

最初のクエリからの結果のみを取得します。なにが問題ですか?

4

2 に答える 2

1

UNION内の各SELECTステートメントには、同じ数の列が必要であることに注意してください。列も同様のデータ型である必要があります。また、各SELECTステートメントの列は同じ順序である必要があります。

「UNION演算子は、デフォルトで個別の値のみを選択します。重複する値を許可するには、UNIONALLを使用してください。」それは本当に私を動かします:

SELECT column_name FROM table_name1 UNION ALL SELECT column_nameFROMtable_name2。願わくば、それはあなたを助けるでしょう。:)

于 2012-06-11T12:12:08.037 に答える
1

クエリに問題はないようです。またUNION ALL、重複を削除しないため、2 番目のテーブルにWHERE条件のデータがないことが最も推測されます。

于 2012-06-11T12:05:17.913 に答える