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:
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

Dgsfilho

Responder

Posts

26/04/2007

Wagnerbianchi

Faça uma subconsulta no WHERE!


Responder

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í


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar