Dúvida sobre Select no SQL Server
05/10/2014
0
é o seguinte....
Tenho uma tabela VACINA onde contem dados de todas vacinas existentes e
Tenho uma tabela APLICACAO onde contem dados de todas aplicações de vacinas realizadas.
Quero buscar todas vacinas cujo não existem na tabela APLICACAO quando APLICACAO.IDPACIENTE = 10. (Vacinas aplicadas no paciente de id = 10)
(ou seja, todas vacinas que determinado paciente ainda não recebeu)
Select que eu tentei fazer e não deu certo:
select *from Vacina where Vacina.idVacina !=
(select Vacina.idvacina from Vacina inner join Aplicacao
on Vacina.idVacina = Aplicacao.vacina
where Aplicacao.idPaciente !=10)
Mensagem de erro:
A subconsulta retornou mais de 1 valor. Isso não é permitido quando a subconsulta segue um =, !=, <, <= , >, >= ou quando ela é usada como uma expressão.
Agradeço qualquer tipo de ajuda..
Denis
Post mais votado
05/10/2014
Joel Rodrigues
Mais Posts
06/10/2014
Cléverson Specht
Tente essa consulta:
SELECT * FROM Vacina V (NOLOCK) WHERE V.idVacina NOT EXISTS (SELECT 1 FROM Aplicacao A (NOLOCK) WHERE V.idVacina = A.vacina AND Aplicacao.idPaciente = 10)
06/10/2014
Denis
deu certo utilizando o not in, realmente ainda não conhecia esse comando.
Abraços
07/10/2014
Joel Rodrigues
Um abraço e bons códigos.
Clique aqui para fazer login e interagir na Comunidade :)