私はいくつかの値がオプションである大きな複数のテーブルクエリ結合selectを持っています。SQL:行が欠落している複数のテーブルを選択します。
これはクエリである:
上記のクエリからテーブルで、次の列(id
、services_id
、reservation_id
)とservices_reservation
という名前のテーブルの値になり、この場合、完全に空であります私はテーブルbike_shipping_reservation
から選択します。
私が選択したいくつかのテーブルを、空の場合はオプションから選択する方法を教えてください。
ここでは、1つの空のテーブルを持つSQL Fiddleがあります。最後にNULL結果が表示されます(GROUP_CONCAT(DISTINCT g.service)のみがNULLである必要があります)。ここで
http://sqlfiddle.com/#!9/ee31b/6
SQLフィドルがある列の値を持つすべてのテーブルであり、あなたはすべての値がNULLでない返されることがわかります。
http://sqlfiddle.com/#!9/8bc033/34
任意の考え? * * `FROM`句にカンマを使用しないでください:
単純なルールに一致していない上、空のどこに参加残しました。 *常に* ON句の条件と明示的な 'JOIN'構文を使用します。 –
@ Gordon Linoff - 私の問題を解決するだろうか? – Speedwheelftw
@GordonLinoffが既に述べたように、組み合わせの動作(LEFT、INNER ...)を指定できる明示的な 'JOIN'構文を使用してください。必要に応じてサイド・ジョインを使用して結果を達成する可能性が最も高くなります。 –