GARANTIR DESCONTO

Fórum Selecionar Menor e Maior data de Venda de Cliente (Select) #485160

11/07/2014

0

Ola, Pessoal , estou com o seguinte problema. Preciso pegar a primeira e ultima data dos pedidos dos clientes. So que preciso somente dos que tiveram o Primeiro e Ultimo Pedido no Mes/Ano Informado.
Exemplo: cliente teve o prim pedido em janeiro e o ultimo em fevereiro 2014..nao serve.
cliente teve o prim. pedido em junho e o ultimo em junho....este que preciso.

SELECT count(DISTINCT(CLIENTE)) AS TTCLIENTES,min(dtpedido) as menor,max(dtpedido) as maior FROM PEDIDOS
WHERE CANCELADO='N'
AND VENDEDOR = :XVEND
AND EXTRACT(YEAR FROM menor) =:XANO
AND EXTRACT(YEAR FROM menor) =:XANO
AND EXTRACT(MONTH FROM maior) =:XMES
AND EXTRACT(MONTH FROM maior) =:XMES


A Ideia e´ ter a QUANTIDADE DE CLIENTES desse vendedor que compraram pela primeira vez no mes.
Só que dessa forma da erro..coluna menor nao existe..

Grato pela ajuda
(obs) havia postado na tag Delphi.
Tomas Raponi

Tomas Raponi

Responder

Posts

11/07/2014

Fabiano Carvalho

Não conheço muito bem o firebird, mas no sql server resolveria seguindo essas regras;

Criar uma tabela que contenha o maior e menor data, independente do mês.
Criava uma query a partir dessa tabela onde a diferença de meses entre a menor e menor data fosse igual a 0.
Responder

Gostei + 0

11/07/2014

Tomas Raponi

Fabiano, como a Data do Pedido esta na tabela de vendas (pedidos), nao quero criar outra tabela,
Preciso pegar o primeiro e ultimo pedido do cliente (dtpedido),desde que ocorram no mesmo mes


joao 01/07/2014 15/07/2014
maria 03/07/2014 03/07/2014

Por que isso ? na verdade para saber quais os clientes que foram ativados no mes.
Nao posso criar tabela so para guardar as datas que ja tenho.

Grato
Responder

Gostei + 0

11/07/2014

Fabiano Carvalho

Tente algo assim
select * from (
SELECT count(DISTINCT(CLIENTE)) AS TTCLIENTES,min(dtpedido) as menor,max(dtpedido) as maior FROM PEDIDOS
WHERE CANCELADO='N' ) as Fonte
where DATEDIFF(MONTH, menor, maior) = 0


Não sei como funciona o datediff no firebird, fiz mais ou menos próximo.
Responder

Gostei + 0

11/07/2014

Tomas Raponi

Obrigado Fabiano, mas com Datediff nao funciona.
Grrato Pela atencao.
Responder

Gostei + 0

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

Aceitar