[firebase-br] Dados na Horizontal - Ufa

Evandro Bastiani evandrobastiani2 em hotmail.com
Sex Jul 1 15:00:27 -03 2005


Agradeço muito ao Amigo Eduardo..... depois de persistir sem sucesso no 
Bendito TRANSFORM e PIVOT ele me passou direto no meu email um código bem 
mastigado e documentado que funcionou perfeitamente.....
Valeu Amigo......

From: Eduardo <eduardo em icontroller.com.br>


Oi Evandro Bastiani

SELECT
      CLIENTES.RAZAO,
      (SELECT
           SUM(QUANTIDADE)
       FROM
           ITENS
       WHERE
           CODIGO_CLIENTE=CLIENTES.CODIGO
           AND EXTRACT (MONTH FROM ENTRADA) = 1
      ) AS JANEIRO,
      /*
        ** Repita aqui os selects de fevereiro a novembro **        **  Se 
vc rodar do jeito que está, trará de JANEIRO e DEZEMBRO
    */

      (SELECT
           SUM(QUANTIDADE)
       FROM
           ITENS
       WHERE
           CODIGO_CLIENTE=CLIENTES.CODIGO
           AND EXTRACT (MONTH FROM ENTRADA) = 12
      ) AS DEZEMBRO
FROM
    CLIENTES
WHERE
    EXISTS (
                     SELECT
                             FIRST 1 0 AS OK
                     FROM
                             ITENS
                     WHERE
                             CODIGO_CLIENTE=CLIENTES.CODIGO
                             AND ENTRADA BETWEEN '01.01.2005' AND 
'31.12.2005'
                   )   /* Este where é para o caso da tabela ter lançamentos 
em diversos anos
                           Se não for o caso, retire */
ORDER BY 1

/****************************************************************************
Um índice em CODIGO_CLIENTE, ENTRADA na tabela ITENS ajudará bastante na 
performance

Qualquer dúvida, grita !

[]s Eduardo
****************************************************************************/

>Cara.... nun manjo muito fazer subselects..... e a sua dá um erra depois 
>que termina a primeira Sub


>Select....
>
>Pode testar e me passar um exemplo ..
>os Campos Envolventes que ´preciso é
>
>Clientes.Razao,  (EXTRACT(MONTH FROM Itens.Entrada), Itens.Quantidade
>2 Tabelas (Clientes e Vendas)    Tenhu a chave do Clientes na Tabela 
>Vendas..
>
>Valeu pela Força.......

_________________________________________________________________
MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com





Mais detalhes sobre a lista de discussão lista