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