Consulta SQL - select
16/04/2007
0
Estou precisando fazer uma consulta dentro de outra consulta e não estou conseguindo.
Exemplo: na minha tabela de VENDAS eu tenho CODCLI, DATAVENDA e NUMVENDA
Preciso saber todos os clientes que fizeram compras em janeiro de 2006 e não voltaram mais desde o inicio de 2007 até hoje.
Todos os clientes que compraram em janeiro de 2006:
Todos os clientes que compraram de janeiro de 2007 até hoje:
Como eu faço para saber quais clientes que estão na primeira consulta e não estão na segunda? Não consigo montar um subselect que faça isso. Obs.: Estou utilizando SQLServer 2000.
Desde já agradeço.
Exemplo: na minha tabela de VENDAS eu tenho CODCLI, DATAVENDA e NUMVENDA
Preciso saber todos os clientes que fizeram compras em janeiro de 2006 e não voltaram mais desde o inicio de 2007 até hoje.
Todos os clientes que compraram em janeiro de 2006:
select CODCLI from VENDAS where DATAVENDA between ´2006-jan-01´ and ´2006-jan-31´
Todos os clientes que compraram de janeiro de 2007 até hoje:
select CODCLI from VENDAS where DATAVENDA between ´2007-jan-01´ and ´2007-apr-16´
Como eu faço para saber quais clientes que estão na primeira consulta e não estão na segunda? Não consigo montar um subselect que faça isso. Obs.: Estou utilizando SQLServer 2000.
Desde já agradeço.
Dgsfilho
Curtir tópico
+ 0
Responder
Posts
26/04/2007
Wagnerbianchi
Faça uma subconsulta no WHERE!
Responder
Gostei + 0
27/04/2007
Psergio.p
SELECT CODCLI FROM VENDAS WHERE
DATAVENDAS BETWEEN ´2006-JAN-01´ AND ´2006-JAN-31´
AND CODCLI NOT IN(SELECT DISTINCT CODCLI FROM VENDAS WHERE DATAVENDAS BETWEEN ´2007-JAN-01´ AND ´2007-APR-16´)
Acho que é isso, tenta aí
DATAVENDAS BETWEEN ´2006-JAN-01´ AND ´2006-JAN-31´
AND CODCLI NOT IN(SELECT DISTINCT CODCLI FROM VENDAS WHERE DATAVENDAS BETWEEN ´2007-JAN-01´ AND ´2007-APR-16´)
Acho que é isso, tenta aí
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)