Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O problema é o seguinte:
tenho um atendimento que tem passagem por alguns setores. Ex:
Passou pelo setor de Centro Cirurgico e tbm pelo Setor UTI
Eu preciso filtrar todos os atendimentos que passaram por esses 2 setores
Centro Cirurgico = 12
UTI = 3
Nesse select que criei ele não puxa nada, pq na minha restrição ele procura se tem codigo 12 e filtra, quando ele vai filtrar o codigo 3 não traz nada pq na 1ª restrição já filtrou pelo 12.
SELECT a.NR_ATENDIMENTO, a.CD_TIPO_ACOMODACAO
FROM ATEND_PACIENTE_UNIDADE a
WHERE ((a.CD_TIPO_ACOMODACAO = 12) AND (a.CD_TIPO_ACOMODACAO = 3))
Tentei com IN mas tbm não deu certo,
SELECT a.NR_ATENDIMENTO, a.CD_TIPO_ACOMODACAO
FROM ATEND_PACIENTE_UNIDADE a
WHERE a.CD_TIPO_ACOMODACAO in (12, 3)
Pq nese caso ele vai pegar todos que tenha passagem tanto por um quanto por outro, o que preciso é que só mostre o que tem passagem pelos 2 setores.
Alguem poderia me ajudar nesse caso?
Desde já agradeço!
Everton Lins
tente assim
SELECT a.NR_ATENDIMENTO, a.CD_TIPO_ACOMODACAO
FROM ATEND_PACIENTE_UNIDADE a
WHERE 2 = (SELECT count(distinct a2.CD_TIPO_ACOMODACAO
FROM ATEND_PACIENTE_UNIDADE a2
WHERE a2.NR_ATENDIMENTO = a.NR_ATENDIMENTO
and a2.CD_TIPO_ACOMODACAO in (12, 3))
Troca AND por OR:
WHERE ((a.CD_TIPO_ACOMODACAO = 12) OR (a.CD_TIPO_ACOMODACAO = 3))