SQL найти оба значения из другой таблицы
Дано две таблицы:
position
header
Необходимо вывести id, из таблицы header, где в таблице position для него присутствует позиция 389577 и 389578 ( т.е. обе)
Если просто сджоинь через in, выведет все id
select h.number from header h
join position p on h.id=p.id
where p.position in ('389577','389578')
А по моему условию, хотелось бы только 283, тк только он содержит обе позиции
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT h.number
FROM header h
JOIN position p USING (id)
WHERE p.position IN ('389577', '389578')
GROUP BY h.number
HAVING COUNT(DISTINCT p.position) = 2


