私は 4 つのテーブルを持っていa,b,c,dます。表aには のペアがありid, nameます。表bには のペアがありidx, idyます。はb.idytable から来ますa.id。テーブルには、 table に関連するc, dペアがあります。id, valueb.idx
次のようなクエリを実行する必要があります。
SELECT c.value, d.value
FROM a,b,c,d
WHERE a.name = "test" AND b.idy = a.id AND (c.id = b.idx AND d.id = b.idx)
問題は、テーブルに欠落しているレコードがある場合があるc, dため、レコードが返されないことですが、またはANDで利用可能な場合は結果が必要です。また、両方のテーブルに対しても他の行を返すため、使用できません。cdOR
UNIONを使用するか、単にネストされたsを使用するソリューションがあると思いSELECTます。JOIN私は分割帖を使用しないか、使用しないことを好みます。
前もって感謝します!
アップデート:
使用を避ける理由JOINはパフォーマンスです。私が現在取り組んでいる構造は、これよりもはるかに複雑であるためJOIN、将来的に深刻なパフォーマンスの問題が発生することは確実です.