Desafio de Consulta !!!
Alguem pra me ajudar.
Preciso elaborar uma consulta que me mostre os clientes que não compram a mais de dois meses por exemplo, e que não se repita os nomes dos clientes no resultado da query, as compras estão em uma tabela de pedido, onde possui a data da venda. Ja tentei colocar data < datavenda, não dá certo o resultado, pois ele só pega que as vendas antes da data, as depois ele ignora mas elas existem, ja tentei between e acontece a mesma coisa, tentei max(datavenda) mas não consegui fazer com que apareça só menores que data da venda. Se alguém puder ajudar, fico grato.
Preciso elaborar uma consulta que me mostre os clientes que não compram a mais de dois meses por exemplo, e que não se repita os nomes dos clientes no resultado da query, as compras estão em uma tabela de pedido, onde possui a data da venda. Ja tentei colocar data < datavenda, não dá certo o resultado, pois ele só pega que as vendas antes da data, as depois ele ignora mas elas existem, ja tentei between e acontece a mesma coisa, tentei max(datavenda) mas não consegui fazer com que apareça só menores que data da venda. Se alguém puder ajudar, fico grato.
Rocetti
Curtidas 0
Respostas
Rodrigo Bergmann
26/08/2003
select * from clientes
where not exists(select datavenda from pedido where datavenda > :data and cod_cliente = clientes.codigo)
where not exists(select datavenda from pedido where datavenda > :data and cod_cliente = clientes.codigo)
GOSTEI 0
Rocetti
26/08/2003
[quote:148d48947a=´Rodrigo Bergmann´]select * from clientes
where not exists(select datavenda from pedido where datavenda > :data and cod_cliente = clientes.codigo)[/quote:148d48947a]
Ok, era isso mesmo que eu precisava, valeu !!!
where not exists(select datavenda from pedido where datavenda > :data and cod_cliente = clientes.codigo)[/quote:148d48947a]
Ok, era isso mesmo que eu precisava, valeu !!!
GOSTEI 0
Rocetti
26/08/2003
Ok, funcionou legal, só que encontrei outro problema, alem de selecionar os que nao compram, eles também não podem ter pendencias de pagamento a partir do mesmo periodo, tenho um campo chamado de quitado que só recebe a string S quando é totalmente quitado, caso exista pendencia, ele permanece N até que seja quitado. Se puder me ajudar, fico grato.
GOSTEI 0
Torres Delphi
26/08/2003
Se este campo estiver na tabela pedido, acrescente AND QUITADO = ´S´
[]´s
[]´s
GOSTEI 0
Rocetti
26/08/2003
Infelismente não esta, esta em outra tabela chamada receber. Isso é possível de fazer ??? Se puder me ajudar, fico grato.
GOSTEI 0
Rodrigo Bergmann
26/08/2003
Rocetti, é só seguir o mesmo raciocínio:
select * from clientes where not exists(select datavenda from pedido where datavenda > :data and cod_cliente = clientes.codigo) and not exists(select datavencimento from receber where cod_cliente = clientes.codigo and datapagamento is null
GOSTEI 0