TABLECのすべてのレコードと、TABLEAまたはTABLEBの同等の値を右結合を使用して選択しようとしています。私はMYSQL 5.5.47を使用しています。2つの右結合
--tableデータ
TABLEA TABLEB TABLEC
ID FNAME ID MNAME ID LNAME
0 ANOOP 0 N 0 SINGH
1 BIMA 2 SITA 3 RAJ
4 CIMI 4 B 5 KUMAR
6 RAVI 5 A 6 D
クエリの下--UsingとTABLEAにTABLEC及びそれと同等の価値のすべてのレコードを選択しようとしているかTABLEB
SELECT A.FNAME, B.MNAME, C.LNAME
FROM TABLEA AS A
RIGHT JOIN TABLEB AS B ON A.ID = B.ID
RIGHT JOIN TABLEC AS C ON C.ID = B.ID
を次のように--Iを取得しています次の結果
ANOOP N SINGH
NULL NULL RAJ
NULL A KUMAR
***NULL*** NULL D
強調表示された値は 'RAVI' inste広告MYSQL 5.5.47でNULLを表示します。私はCの& Aに関連する2番目の結合で '='条件を修正しようとしましたが、まだ運がありません。私はここで間違って何をしていますか? NULLの代わりに値 'RAVI'を取得するにはどうすればよいですか?どんな提案も非常に役に立ちます。
が質問に –
テーブルBが与える表は「私をフェッチJOIN RIGHTをあなたの期待される結果を追加完璧に動作しますキーがテーブルBに一致するテーブルA内のすべてのレコードと、テーブルB "のすべての行を返します。したがって、最初の結合ステートメントでは、 tself、idiが6で、idが6のRaviはテーブルBに存在しません。私たちはどのようにして正しい参加が必要と判断しましたか? –
あなたはここで完全な外部の参加を目指していますか?または、姓として表示されるレコードだけを保持したいですか? –