Это моя таблица:
Я хочу знать, какие имена существуют более одного раза с исходным «comp» и исходным «manual».
Итак, в этом случае я хочу, чтобы вывод был: host3 zyx (имя и группа), потому что имя host3 существует более одного раза, и у него есть исходное руководство и исходный комп.
Я пробовал это (SQL Server):
SELECT name, group
FROM table
GROUP BY name
HAVING (COUNT(name) > 1) and????
Решение проблемы
Насколько я понимаю, вы хотите что-то вроде
SELECT name, max([group]) -- or STRING_AGG([group],',')
FROM table
WHERE source in ('comp','manual')
GROUP BY name
HAVING COUNT(DISTINCT source) > 1
или вам нужно сгруппировать (в большинстве диалектов sql) группу
SELECT name, [group]
FROM table
WHERE source in ('comp','manual')
GROUP BY name, [group]
HAVING COUNT(DISTINCT source) > 1
Комментариев нет:
Отправить комментарий