[firebase-br] Ajuda SQL

Sandro Souza escovadordebits em gmail.com
Qui Maio 14 10:01:39 -03 2009


Bom dia/tarde Tiago.

Grande Tiago, tente o seguinte código:

SELECT
  A.CODPRODUTO,
  A.CODVENDEDOR,
  A.CODCLIENTE,
  A.DESCR_PROD,
  A.VALOR,
  A.DATA_EMISSAO
FROM
  V_ULTPRODCOMPRADOS A
WHERE
  (A.CODVENDEDOR = :CODVEN)AND
  (A.DATA_EMISSAO IN(
    SELECT
      MAX(B.DATA_EMISSAO)
    FROM
      V_ULTPRODCOMPRADOS B
    WHERE
      (B.CODPRODUTO = A.CODPRODUTO)AND
      (B.CODVENDEDOR = A.CODVENDEDOR)))
ORDER BY
  A.CODPRODUTO,
  A.CODVENDEDOR,
  A.CODCLIENTE,
  A.DESCR_PROD

Para agilizar essa consulta, crie um índice contendo os campos CODPRODUTO,
CODVENDEDOR e DATA_EMISSAO nessa ordem.

Espero ter ajudado mais que atrapalhado. :D

2009/5/14 Tiago <tijgrillo em gmail.com>

> Olâ  a todos,
>
>             Estou com um problema com este sql, se puderem me ajudar fico
> grato. Tenho uma tabela com mais ou menos assim:
>
> CODPRODUTO  DESCR_PROD  CODVENDEDOR  CODCLIENTE  DATA_EMISSAO  VALOR
>      1                        A
> 4                       5                   01/05/08           12,25
>      1                        A
> 4                       5                   12/10/08           45,10
>      1                        A
> 4                       5                   01/05/09           32,25
>      2                        B
> 4                       6                   01/01/09           99,99
>      2                        B
> 4                       6                   12/05/09           88,41
>      3                        C
> 4                       7                   01/05/09           43,14
>
>             O que quero é apenas 1 PRODUTO para sua DATA MAIS ATUAL
> (MAX()), por exemplo, o produto A viria só a terceira linha tabela acima.
> Meu problema é agrupar isto, sendo que o VALOR é diferente para cada
> registro.
>
> SELECT
>  CODPRODUTO,
>  CODVENDEDOR,
>  CODCLIENTE,
>  DESCR_PROD,
>  VALOR, -- SEM ESTA LINHA TRAZ O QUE QUERO, COLOCANDO ELA, O PROBLEMA.
>  MAX(DATA_EMISSAO) AS DATA_EMISSAO
> FROM
>  V_ULTPRODCOMPRADOS UL
> WHERE
>  CODVENDEDOR = :CODVEN
> GROUP BY
>  CODPRODUTO,CODVENDEDOR,CODCLIENTE,DESCR_PROD
>
>             Alguém tem alguma ideia?
>
> obrigado,
> Tiago
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista