Answer the question
In order to leave comments, you need to log in
How to correctly compose a MYSQL query?
Всем привет. Столкнулся с небольшими сложностями с составлением sql запроса. Есть таблица, в ней куча столбцов, необходимо верно сформулировать запрос к mysql.
id | parrent_id | email | password
4 | NULL | four.mail.ru | password
7 | NULL | seven.mail.ru | password
8 | 4 | eight.mail.ru | password
9 | 4 | nine.mail.ru | password
10 | 7 | ten.mail.ru | password
11 | 4 | eleven.mail.ru | password
Задача, вывести все строки которые в качестве параметра parrent_id содержат какое-то значение(не null), но нужна зависимость со значением родителя. Пример необходимых записей:
parrent_email | email | password
four.mail.ru | eight.mail.ru | password
four.mail.ru | nine.mail.ru | password
seven.mail.ru | nine.mail.ru | password
four.mail.ru | eleven.mail.ru | password
Вывод нужно сделать именно с помощью перечисления необходимых столбцов( Select `email`, `password`...) т.к. столбцов очень много, все мне не нужны. Спасибо.
Answer the question
In order to leave comments, you need to log in
select
t1.email as parent_email,
t2.email as email,
t2.password as password
from my_table t1
left join (
select
parrent_id,
email,
password
from my_table
where parrent_id is not null
) t2 on t2.parrent_id = t1.parrent_id
where t1.parrent_id is null
order by t1.email
1) * parent_id
2) нестед сидс проще реализовать на клиенте
SELECT
t1.email AS email,
parent.email AS parent_email,
t1.password AS password
FROM my_table t1
INNER JOIN my_table parent ON t1.parrent_id = parent.id
ORDER BY t1.email
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question