私は3つのテーブルを持っています:
t1.estimate, t1.mid, t1.description, t1.status
t2.mid, t2.mname, t2.mphone, t2.memail
t3.estimate, t3.action
これらのテーブルを結合する必要がありますが、t2 と t3 には t1 に結合するレコードが含まれていない可能性があるという問題があります。テーブル t1 は、フィルターが適用されるプライマリ テーブルです。テーブル t2 は、「mid」に参加すると、99.9% の確率で一致が含まれます。ただし、テーブル t3 は、情報を格納するだけのテーブルであり、ユーザーがテーブルに入力すると見積もりが作成されます。t1 には 40,000 以上のレコードが存在する可能性がありますが、t3 には 5,000 しかありません。
これが私の現在のコードですが、3 つのテーブルすべてにあるレコードのみを表示しています。t2 と t3 で結合するレコードがなくても、t1 から値を表示したいと考えています。
SELECT DISTINCT
t1.estimate, t1.mid, t2.mname, t1.description,
t1.status, GROUP_CONCAT(t3.action)
FROM t1
LEFT OUTER JOIN t2 ON t1.mid = t2.mid
LEFT OUTER JOIN t3 ON t1.estimate = t3.estimate
WHERE t1.status LIKE '0%'
GROUP BY t3.estimate