• Таблица 1 Имена
  • Таблица 2 Услуги

Если я делаю простой выбор обеих таблиц вместе, я получаю список следующим образом:

  • Name1 Сервис X
  • Name2 Сервис X
  • Name2 Сервис X
  • Name2 Сервис Y
  • Name3 Сервис Y
  • Name3 Сервис X

Я хотел бы ограничить список только людьми, у которых есть Служба X И Y, одно возвращение на имя (отличный выбор).

1 ответ1

0

Один из способов достижения этого - подсчитать, сколько разных сервисов X или Y имеет пользователь, а затем вернуть только те из них, которые имеют два (т. Е. Оба):

SELECT   n.name
FROM     names n
JOIN     services s ON n.user_id = s.user_id
WHERE    s.name IN ('X', 'Y'Y)
GROUP BY names.name
HAVING   COUNT(DISTINCT s.name) = 2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .