確定的ではありません2で一目でクエリに等しい:MySQLの労働組合は、ここで
SELECT obj_id
FROM obj t JOIN joined_a a ON t.`id` = a.`obj_id`
UNION
SELECT obj_id
FROM obj t JOIN joined_b b ON t.`id` = b.`obj_id`;
と
SELECT obj_id
FROM obj t JOIN joined_b b ON t.`id` = b.`obj_id`
UNION
SELECT obj_id
FROM obj t JOIN joined_a a ON t.`id` = a.`obj_id`;
彼らは唯一の選択配列と異なっています。
この2つのクエリの結果の行数は異なります。
どうすれば可能ですか?
各SELECTにDISTINCTを追加すると、行数量にNEW値(最大値)が設定されます。
私は
(select ...)
UNION
(select ...)
のようなSELECTそれぞれにブラケットを追加した場合、行量がのDISTINCT値を持つことになります。
あなたは彼らが正確にクエリを投稿してください可能性があり、いくつかのサンプルデータが(十分に再現するために) – Quassnoi
私はそれが決定的であると思います - ?で少なくとも 'obj_id'が両方のテーブルでまったく同じ型を持っているなら、あなたのテストでは何かが間違っています。おそらく、型は文の順序に依存するかもしれませんが、MySQLドキュメントはすべての副問い合わせが出力型を決定すると主張しています。あなたは 'order by'を使わない限り、結果の順序には保証がないことを理解しています。 –