Fórum Duvida Urgente Sql Firebird 1.5 #485184
11/07/2014
0
select distinct(cliente),min(dtpedido) as menor ,max(dtpedido) as maior,VENDEDOR,
(select EXTRACT(YEAR FROM menor) = :XANO
AND EXTRACT(MONTH FROM menor) =:XMES
and EXTRACT(YEAR FROM maior) =:XANO
AND EXTRACT(MONTH FROM maior) =:XMES ) from pedidos)
WHERE VENDEDOR = :XVEND
ou seja, preciso que tanto a menor como a maior data selecionada estejam no mesmo mes, ano.
tento executar mais da diversos erros, entre eles erro onde tem o =.
Trabalho com delphi 7, firebird 1.5
Agradeco muito a ajuda
Tomas Raponi
Curtir tópico
+ 0Posts
11/07/2014
Joel Rodrigues
SELECT DISTINCT(CLIENTE) AS CLIENTE, MIN(DTPEDIDO) AS MENOR, MAX(DTPEDIDO) AS MAIOR, VENDEDOR, WHERE EXTRACT(YEAR FROM MIN(DTPEDIDO)) = EXTRACT(YEAR FROM MAX(DTPEDIDO)) AND EXTRACT(MONTH FROM MIN(DTPEDIDO)) = EXTRACT(MONTH FROM MAX(DTPEDIDO)) AND EXTRACT(YEAR FROM MIN(DTPEDIDO)) = :XANO AND EXTRACT(MONTH FROM MIN(DTPEDIDO)) = :XMES AND VENDEDOR = :XVEND
Obs.: fiz em um editor de texto simples, então pode conter erros de sintaxe.
Gostei + 0
11/07/2014
Tomas Raponi
COUNT(DISTINCT(CLIENTE)) AS CLIENTE, MIN(DTPEDIDO) AS MENOR, MAX(DTPEDIDO) AS MAIOR, VENDEDOR FROM PEDIDOS
WHERE
EXTRACT(YEAR FROM MIN(DTPEDIDO)) = EXTRACT(YEAR FROM MAX(DTPEDIDO))
AND
EXTRACT(MONTH FROM MIN(DTPEDIDO)) = EXTRACT(MONTH FROM MAX(DTPEDIDO))
AND
EXTRACT(YEAR FROM MIN(DTPEDIDO)) = :XANO
AND
EXTRACT(MONTH FROM MIN(DTPEDIDO)) = :XMES
AND
VENDEDOR = :XVEND
Joel, da erro
Cannot use an agregate function in a where Clause, use having instead
obs..coloqueio o count e from pedidos, mas a ideia penso que seria essa mesmo
Gostei + 0
13/07/2014
Thiago Irrazabal
SELECT DISTINCT(CLIENTE) AS CLIENTE, MIN(DTPEDIDO) AS MENOR, MAX(DTPEDIDO) AS MAIOR, VENDEDOR FROM PEDIDOS GROUP BY 1,4 HAVING EXTRACT(YEAR FROM MIN(DTPEDIDO)) = EXTRACT(YEAR FROM MAX(DTPEDIDO)) AND EXTRACT(MONTH FROM MIN(DTPEDIDO)) = EXTRACT(MONTH FROM MAX(DTPEDIDO)) AND EXTRACT(YEAR FROM MIN(DTPEDIDO)) = :XANO AND EXTRACT(MONTH FROM MIN(DTPEDIDO)) = :XMES AND VENDEDOR = :XVEND
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
13/07/2014
Tomas Raponi
Te agradeco muito a solucao apresentada.
Funcionou perfeitamente como eu precisava.
Abraco.
Tomas Raponi
Gostei + 0
14/07/2014
William
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)