SQL Отсеять значения столбца, которые содержат одно из нескольких значений другого столбца
| ID | | PARENT |
| 1 | | 0 |
| 2 | | 0 |
| 3 | | 2 |
| 4 | | 0 |
| 5 | | 4 |
| 6 | | 0 |
| 7 | | 0 |
| 8 | | 0 |
Гостевая книга
ID номер сообщения
PARENT 0 первое сообщение
если PARENT = ID то в сообщении с номером ID есть ответ.
нужно вывывести все сообщения без ответов для последующего удаления.
то есть на выходе будет так
| ID | | PARENT |
| 1 | | 0 |
| 6 | | 0 |
| 7 | | 0 |
| 8 | | 0 |
как написать правильно sql запрос. спасибо
Ответы (1 шт):
Автор решения: Alexey Trukhanov
→ Ссылка
Насколько я понимаю надо выбрать все ID, которых нет в PARENT и, при этом, PARENT которых равен нулю (это если я правильно понял, что имеются ввиду только первые сообщения без ответов)
SELECT * FROM guest_book
WHERE ID NOT IN (SELECT PARENT FROM guest_book) AND PARENT = 0
ORDER BY ID;