Acelerador do Access Query Designer - selecione por vários valores que não estão funcionando

0
  • Tabela 1 Nomes
  • Tabela 2 Serviços

Se eu fizer uma seleção simples das duas tabelas juntas, receberei uma lista da seguinte forma:

  • Name1 Serviço X
  • Name2 Service X
  • Name2 Service X
  • Nome2 Serviço Y
  • Name3 Service Y
  • Name3 Service X

Eu gostaria de limitar a lista apenas para pessoas que têm o Serviço X AND Y, um retorno por nome (seleção distinta).

    
por access_victim 07.05.2013 / 17:44

1 resposta

0

Uma maneira de conseguir isso é contar quantos serviços X ou Y distintos um usuário possui e, em seguida, retornar apenas aqueles que têm dois (ou seja, ambos):

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
    
por 13.12.2017 / 16:17