Boa tarde pessoal, fiz uma consulta que é a seguinte:
select * from venda v
where V.MAPA IS NULL
and v.cancelado is null
and (v.cidade not in ('53','54','28','8','18','22','27','110','101','111')
or v.venda in
(
select v1.venda
from venda v1
where v1.cidade in ('1','2','21','41') and
V1.DATDOC >= (SELECT CURRENT_DATE FROM RDB$DATABASE)))
Vou explicar a hierarquia do que preciso de retorno da consulta abaixo:
(primeira parte: quero todas as vendas que não estão em mapa nenhum e não estejam canceladas)
select * from venda v where V.MAPA IS NULL and v.cancelado is null
(segunda parte: trazer as vendas das cidades que não sejam das cidades que coloquei no not in )
and (v. not in ('53','54','28','8','18','22','27','110','101','111')
(terceira parte: dessas vendas que retornaram quero retirar as da cidade ('1','2','21','41') que são de outros dias que não o dia de hoje, tipo o que vende na cidade ('1','2','21','41') ontem já não me enteressa)
or v.venda in (select v1.venda from venda v1 where v1.cidade in ('1','2','21','41') and V1.DATDOC >= (SELECT CURRENT_DATE FROM RDB$DATABASE)))
Mas de qualquer forma que eu faça, colocando ou retirando os parenteses o retorno é sempre o mesmo, sempre vem as vendas das cidades que preciso retirar da consulta usando o OR, sendo que pelo meu entender o que coloquei após o OR deveria não vir na consulta, alguma ideia?
Pergunta
Waister Marques
Boa tarde pessoal, fiz uma consulta que é a seguinte:
select * from venda v
where V.MAPA IS NULL
and v.cancelado is null
and (v.cidade not in ('53','54','28','8','18','22','27','110','101','111')
or v.venda in
(
select v1.venda
from venda v1
where v1.cidade in ('1','2','21','41') and
V1.DATDOC >= (SELECT CURRENT_DATE FROM RDB$DATABASE)))
Vou explicar a hierarquia do que preciso de retorno da consulta abaixo:
(primeira parte: quero todas as vendas que não estão em mapa nenhum e não estejam canceladas)
select * from venda v where V.MAPA IS NULL and v.cancelado is null
(segunda parte: trazer as vendas das cidades que não sejam das cidades que coloquei no not in )
and (v. not in ('53','54','28','8','18','22','27','110','101','111')
(terceira parte: dessas vendas que retornaram quero retirar as da cidade ('1','2','21','41') que são de outros dias que não o dia de hoje, tipo o que vende na cidade ('1','2','21','41') ontem já não me enteressa)
or v.venda in (select v1.venda from venda v1 where v1.cidade in ('1','2','21','41') and V1.DATDOC >= (SELECT CURRENT_DATE FROM RDB$DATABASE)))
Mas de qualquer forma que eu faça, colocando ou retirando os parenteses o retorno é sempre o mesmo, sempre vem as vendas das cidades que preciso retirar da consulta usando o OR, sendo que pelo meu entender o que coloquei após o OR deveria não vir na consulta, alguma ideia?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.