#mysql #sql
Вопрос:
У меня есть такой столик
Что я должен сделать, чтобы получить такой результат
Я пытаюсь с этим, но я не могу получить значение других
SELECT A.UserName AS UserName, B.UserName AS Parent
FROM test A, test B
WHERE A.UserName <> B.UserName
AND (B.ID = A.Parent)
Результаты
Комментарии:
1. Для получения
NULL
вам нужно использоватьOUTER SELF JOIN
(например,LEFT
).
Ответ №1:
Всегда используйте explicit join
, и вам нужно использовать left join
:
select t1.id,
t1.UserName ,
t2.UserName ParentUsername
from tablename t1
left join tablename t2
ON t1.parent = t2.ID
Ответ №2:
вы можете использовать left outer join
этот запрос, который отлично работает
SELECT A.UserName AS UserName, B.UserName AS Parent
FROM test A left outer join test B on (B.ID = A.Parent);
это сработало для меня с базой данных MySQL.
Ответ №3:
Попробуйте выполнить инструкцию join:
SELECT A.UserName UserName,
B.UserName Parent
FROM test A
JOIN test B
ON A.parent = B.ID