さまざまなtrue/false列を含むテーブルに結合するクエリがあります。DISTINCT&GROUP BYを適用して、単一の一意の行のみが返されるようにすることができますが、true / false行は予測どおりに動作しません。例:
**Table 1**
loc_id name
-------------
1 a
2 b
3 c
4 d
**Table 2**
prod_id loc_id value
-------------
1 1 abc
2 1 bcd
3 1 def
4 2 fgh
**Table 3**
prod_id flag
-------------
1 0
2 0
3 1
4 1
SELECT DISTINCT name, flag from table1
LEFT JOIN table3 ON table3.prod_id = table2.prod_id
LEFT JOIN table2.loc_id=table1.loc_id
これにより、loc名のリストを含む行が表示されます。ただし、フラグ列が複数の行を返す場合があります。これらの行を組み合わせて、複数の行があり、0と1の両方が含まれている場合、クエリはフラグが1に設定された1つの行のみを返すようにします。行に0が含まれている場合、その行には0が返されます...一意の行を返すGROUP BY名を使用してみましたが、フラグ列に0と1の両方が設定されている重複行の場合は0が返されることに気付きました。
助けていただければ幸いです