Я пытаюсь выбрать все записи в TABLEC и его эквивалентное значение в TABLEA или TABLEB, используя правое соединение. Я использую MYSQL 5.5.47.Два правых соединения
--Настольных данных следующего
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
--использования ниже запроса и пытается выбрать все записи в TABLEC и эквивалентное значение в TABLEA или 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
-иЙ подводят следующий результат:
ANOOP N SINGH
NULL NULL RAJ
NULL A KUMAR
***NULL*** NULL D
Выделенное значение не отображает значение как «RAVI» inste ad показывает NULL в MYSQL 5.5.47. Я попытался изменить условие '=' во втором соединении, связанном с C & A, но все равно не повезло. Что я здесь делаю неправильно? Как получить значение «RAVI» вместо NULL? Любое предложение было бы очень полезно.
добавить свой ожидаемый результат в вопросе –
Таблица A RIGHT JOIN таблица B дает «за мной все записи в таблице A, чьи ключи совпадают в таблице B, плюс возвращают мне все строки таблицы B ". Итак, в вашем первом заявлении о соединении i сам, Рави, идентификатор которого равен 6 и чей id, 6, отсутствует в таблице B, устраняется. Как мы решили, что мы требуем права присоединиться? –
Вы ищете полное внешнее соединение здесь? Или вы хотите сохранить только записи, которые отображаются как фамилии? –