Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Объединить результат запроса


Автор: JEEN 5.9.2013, 12:47
БД MySQL

Делаю запрос
Код

SELECT s1.id, s2.id FROM staff s1
INNER JOIN staff s2 ON s1.id = s2.parent_id
WHERE s1.parent_id = 1


Результат
user posted image

А хочется в один столбик и только уникальные значения: 2, 6, 3, 4, 5, 7, 8 (порядок не важен)
В идеале это должен быть не SELECT, а UPDATE, потому что далее у всех этих ID должно обновиться значение поля deleted = 1

Пробовал использовать Group concat
Код

SELECT GROUP_CONCAT(DISTINCT s1.id, s2.id SEPARATOR ',') FROM staff s1
INNER JOIN staff s2 ON s1.id = s2.parent_id
WHERE s1.parent_id = 1


Результат далеко не тот что нужен
user posted image

Автор: Akina 5.9.2013, 12:56
Код

SELECT s1.id
FROM staff s1
WHERE s1.parent_id = 1

UNION 

SELECT s2.id 
FROM staff s1
INNER JOIN staff s2 
ON s1.id = s2.parent_id
WHERE s1.parent_id = 1

Автор: JEEN 5.9.2013, 13:20
Akina, спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)