[firebase-br] Problema com SQL
Eduardo Bahiense
eduardo em icontroller.com.br
Qui Abr 12 13:47:23 -03 2007
José Roberto
Sua query está correta.
Se você não está obtendo o resultado esperado, verifique a consistência
dos dados, principalmente se MOV_LANC está realmente correspondendo nas
duas tabelas e se há lançamentos de mais de um produto no mesmo dia.
Uma outra tentativa seria usar LEFT JOIN ao invés de INNER JOIN, só para
ver o resultado.
Abs. Eduardo
Claudio O2 escreveu:
> Amigo, fiz uma rotina parecida aqui com tabelas parecidas e obtive
> resultado.
>
> Segue select
>
> select mov.documento, mov.fil_orig, mov.nr_cto, mov.dt_emissao,
> sum(nfs.vlr_mercadoria) as vl_merc from stwopetmov mov
> left join stwopetnota nfs on (nfs.documento = mov.documento) and
> (nfs.fil_orig = mov.fil_orig) and (nfs.nr_cto = mov.nr_cto)
> where mov.dt_emissao between ('01.04.2006') AND ('03.04.2006')
> group by mov.documento, mov.fil_orig, mov.nr_cto, mov.dt_emissao
> order by mov.documento, mov.fil_orig, mov.nr_cto, mov.dt_emissao
>
> De diferente da sua select eu pus os parametros de data com . e nao / e
> fora isso usei o left join. Mas testei com o inner tb e funcionou.
> Tente trocar seus parametros de data e rode pra ver.
>
> []´s
>
>
> José Roberto Siqueira escreveu:
>> Bom Dia Pessoal
>>
>> Por gentileza, necessito da ajuda dos colegas para resolver um problema que
>> estou enfrentando com uma instrução SQL.
>>
>> Possuo duas tabelas com estas estruturas:
>>
>> Tabela: MASTER Campos: MOV_LANC -> Código de Lançamento
>> MOV_DATA -> data do
>> lançamento
>> MOV_VALOR -> valor do lançamento
>>
>> Tabela: DETALHE Campos: MOV_LANC -> Código de
>> Lançamento
>> MOV_PRODU -> Código do
>> Produto
>> MOV_QTDE -> Qtde
>>
>> O que estou tentando fazer sem sucesso, é exibir um totalizador por Data e
>> Produto, por exemplo,
>>
>> DATA PRODUTO QTDE
>> ---- ------- ----
>> 01/04/07 0010 3
>> 01/04/07 0030 10
>> 01/04/07 0070 35
>> 01/04/07 00130 100
>> 05/04/07 0010 14
>> 05/04/07 0018 1
>> 11/04/07 0010 9
>> 11/04/07 0030 7
>> 11/04/07 00100 300
>> 11/04/07 00307 187
>> 15/04/07 0010 4
>> 16/04/07 0010 7
>> 22/04/07 00188 3
>> 22/04/07 00177 3
>> 22/04/07 00189 3
>>
>> Ou seja, quero totalizar por dia e dentro de cada dia por produto.
>>
>> O que está ocorrendo é está sendo agrupado por data corretamente, porém, no
>> produto está sendo exibido o total geral e não por data.
>>
>> A instrução que estou aplicando é esta:
>>
>> SELECT
>> MASTER.MOV_DATA,
>> DETALHE.MOV_PROD,
>> SUM(MASTER.MOV_VALOR)
>> FROM MASTER INNER JOIN DETALHE
>> ON
>> DETALHE.MOV_LANC = MASTER.MOV_LANC
>> WHERE
>> MASTER.MOV_DATA BETWEEN ('01/04/2007') AND ('30/04/2007')
>> GROUP BY
>> MASTER.MOV_DATA,DETALHE.MOV_PRODU
>> ORDER BY
>> MASTER.MOV_DATA,DETALHE.MOV_PRODU
>>
>> Agradeço qualque ajuda.
>>
>> Abraços
>>
>> José Roberto Siqueira
>> MSN..: jrsiqueira em hotmail.com | SkypeID: jrsiqueira
>> GMail: jrsiqueira | ICQ....: 170327096
>> São Paulo-SP-Brasil
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>>
>
>
Mais detalhes sobre a lista de discussão lista