[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