Alguém tem ou sabe onde posso baixar alguma apostila de sql para ser usado no 
Firebird ? 
   
  

Julio Abdala <[EMAIL PROTECTED]> escreveu:
  A tua lógica do SQL parece não está correta. O group by vai servir para o 
agrupamento da primeira coluna (sum(nf.total)), e as outras estão sendo 
agrupadas novamente quando realizar outro sum.
   
  para resolver o teu problema utilize subselects que o resultado retornará 
correto.
   
  pelo menos eu resolvi assim.
   
  Abs.
   
  Júlio Abdala

Elazar <[EMAIL PROTECTED]> escreveu:
  Pessoal;

bom dia;


Tenho duas consultas no sistema retornando cada um a sua lista de dados
conforme abaixo.

********************************************************************
SQL 1:

SELECT
     CASE EXTRACT(MONTH FROM NF.DATAEMISSAO)
          WHEN 1 THEN 'Janeiro'
          WHEN 2 THEN 'Fevereiro'
          WHEN 3 THEN 'Março'
          WHEN 4 THEN 'Abril'
          WHEN 5 THEN 'Maio'
          WHEN 6 THEN 'Junho'
          WHEN 7 THEN 'Julho'
          WHEN 8 THEN 'Agostto'
          WHEN 9 THEN 'Setembro'
          WHEN 10 THEN 'Outubro'
          WHEN 11 THEN 'Novembro'
          WHEN 12 THEN 'Dezembro'
        END MES,
        SUM(NF.VALORTOTAL)                 AS TOTAL
   FROM NOTAFISCAL NF
  WHERE NF.DATAEMISSAO BETWEEN '01.01.2005' AND '31.12.2005'
  GROUP BY
           EXTRACT(MONTH FROM NF.DATAEMISSAO)
    ORDER BY EXTRACT(MONTH FROM NF.DATAEMISSAO)


Result Set 2:

MES           TOTAL       
==========    ========    
Janeiro       104107,78    
Fevereiro     169304,33    
Março         181111,12    
Abril         210175,72    
Maio          154042,97    
Junho         210803,23    
Julho         180880,06    
Agostto       165331,35    
Setembro      18862,83    
Outubro        10754,3    
Novembro        319,68    


************************************************************************
*
SQL 2:

SELECT
     CASE EXTRACT(MONTH FROM NF.DATAEMISSAO)
          WHEN 1 THEN 'Janeiro'
          WHEN 2 THEN 'Fevereiro'
          WHEN 3 THEN 'Março'
          WHEN 4 THEN 'Abril'
          WHEN 5 THEN 'Maio'
          WHEN 6 THEN 'Junho'
          WHEN 7 THEN 'Julho'
          WHEN 8 THEN 'Agostto'
          WHEN 9 THEN 'Setembro'
          WHEN 10 THEN 'Outubro'
          WHEN 11 THEN 'Novembro'
          WHEN 12 THEN 'Dezembro'
        END MES,
        SUM(NF.VALORTOTAL)                 AS TOTAL,
        SUM(NFITN.QUANTIDADE)              AS QUANTIDADE,
        (SUM(NF.VALORTOTAL) / SUM(NFITN.QUANTIDADE)) AS PRECOMEDIO
   FROM NOTAFISCAL NF
  INNER JOIN ITNNOTAFISCAL NFITN ON NF.NONOTA      =
NFITN.COD_NOTAFISCAL
  WHERE NF.DATAEMISSAO BETWEEN '01.01.2005' AND '31.12.2005'
  GROUP BY
           EXTRACT(MONTH FROM NF.DATAEMISSAO)
    ORDER BY EXTRACT(MONTH FROM NF.DATAEMISSAO)

Result Set 2:

MES           TOTAL       QUANTIDADE    PRECOMEDIO    
==========    ========    ==========    ==========    
Janeiro       3512289,78      74092,85            47    
Fevereiro     5220068,3      87584,96            60    
Março         6374835,83     129396,84            49    
Abril         5956146,17     134327,02            44    
Maio          3131176,36     108585,81            29    
Junho         6773279,63     197960,94            34    
Julho         7592940,54     124835,07            61    
Agostto       13375481,1     114501,09           117    
Setembro      3313870,39       8615,25           385    
Outubro        15184,9          9580             2    
Novembro        639,36           240             3    

**********************************************************************


Levando em consideração que os valores das colunhas total do SQL 1 está
correto/verificado na base de dados.

mas se eu adicionar no sql uma instrução para trazer o somatorios das
quantidades (SQL 2), ele me retornas valores totalmente incoerentes em
relação aos dados existentes nas tabelas de notafiscais e itens de nota
fiscal.

se alguem compreende o que aconteceu neste SQL 2 onde a coluna TOTAL é
meia absurda quanto tento somar as quantidades dos itens...

Alguem sabe me esplicar... o que esta acontecendo?


OBS: A coluna quantidade ta OK;

Atenc.
Elazar


      

      
            
_______________________________________________________ 
Yahoo! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>





        Yahoo! Grupos, um serviço oferecido por:            PUBLICIDADE

  
---------------------------------
  Links do Yahoo! Grupos
    
   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
    
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
    
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 

  


            
---------------------------------
Yahoo! doce lar. Faça do Yahoo! sua homepage.
            
---------------------------------
Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>





        Yahoo! Grupos, um serviço oferecido por:            PUBLICIDADE
 
  
---------------------------------
  Links do Yahoo! Grupos
    
   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
    
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
    
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 

  



Abraços,

   Ricardo Cabral
                
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a