2017-09-12 4 views
1

私が達成したいのは、テーブルAとテーブルBが同じIDを使用していますが、AのIDのいくつかはBともし私がその特定のIDを探していて、参加していれば何も出てこない。SQLクエリは、テーブルが空でない場合にのみ結合を行います

場合でも、それが唯一のAに存在する場合ではない、私は選択して、AとBの両方に存在するIDは、それが動作しますが、場合私のクエリは、この

 SELECT * 
     FROM table_A A 
     LEFT JOIN table_B B 
     ON A.id = B.id 
     WHERE B.condition <> "X" 
     AND A.id = "Y" 

のようなものですので、どのように私は結果を出すことができ行はテーブルBにありませんか?

+3

サイドノート:SQLでは、文字列リテラルを一重引用符で囲む必要があります(たとえば 'Y ')。 –

答えて

2

INNER JOINの代わりにLEFT JOINの結果が得られるように、table_B条件をON句に移動します。

SELECT * 
FROM table_A A 
LEFT JOIN table_B B 
    ON A.id = B.id 
AND B.condition <> "X" 
WHERE A.id = "Y" 
+0

ありがとう、それは私がそれに必要なものを正確に行いました。 – Noon

関連する問題