1対多の関係を持つ2つのテーブルがあります。場所とプロモーション。場所には、曜日によって適用されるいくつかのプロモーションがあります。MySQL条件付きLEFT JOIN
は(ほとんどの列が省略されている)の簡素化、これらはテーブルです:
場所
idnum nombre
--
42 SUBWAY
55376 ANTOJERIA MAKECH
50112 TORTAS BERNAL LAS ORIGINALES DESDE 1960
55185 LA MARINERA
プロモ
idnum titulo dia idcliente
135 Pescado Frito 2 x 1 Lunes 55185
136 Pescado Frito 2 x 1 Martes 55185
137 Margaritas 2 x 1 Jueves 55185
138 Tacos 3 x 2 Viernes 55185
139 5 cervezas Sabado 55185
私は私のすべての場所の結果を取得するクエリを構築したいです可能であれば、私に対応するプロモーションを取得します。これは私がこれまで持っているクエリです:
DIAがまたはDIAが(場所は何のプロモーションを持っていないときのために)NULLの場合(この場合は「Sabado」で)クエリに一致したときにそれがうまく動作します。 問題は、場所がプロモーションを持っているが、それらのどれもdiaと一致していないときに発生します...その場合、私はまだプロモーション列にヌル値でレコードを取得したいと思います。
CASEを使用することができたときには、応答をしたい場合外部結合に使用できるすべてのdiasのセットが必要です。 – JimmyB