[firebase-br] RES: Problema com SQL

Claudio O2 claudio em o2tecnologia.com.br
Qui Abr 12 14:48:37 -03 2007


Opa... então, mudei minha select um pouco e mesmo assim funcionou.
O campo conteudo eu so tenho na tabela de notas e mesmo assim 
funcionou... me trouxe por todo o group by o que eu desejava.
Ficou assim:

select mov.documento, mov.fil_orig, mov.nr_cto, mov.dt_emissao, 
nfs.conteudo, sum(nfs.vlr_mercadoria) as vl_merc from stwopetmov mov
inner 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, 
nfs.conteudo
order by mov.documento, mov.fil_orig, mov.nr_cto, mov.dt_emissao, 
nfs.conteudo

No mesmo documento eu pus 2 notas com o mesmo produto e verifiquei. 
Apareceu somente uma ocorrencia e o valor saiu somado.



José Roberto Siqueira escreveu:
> Infelizmente o resultado é o mesmo após ter realizado as alterações que você
> sugeriu.
>
> Por exemplo, se eu tenho dois produtos vendidos no dia 01/04 e o total de
> produtos vendidos neste dia for 50, ele retorna os dois produtos e a qtde.
> de cada um deles é 50, ou seja, ele totaliza o dia e atribue este total a
> todos os produtos vendidos no dia 01/04.
>
> Creio que pelo fato da tabela MASTER não conter o campo com o Cód. Do
> Produto, não estou conseguindo fazer esta totalização.
>
> Obrigado pela ajuda.
>
> José Roberto Siqueira
> MSN..: jrsiqueira em hotmail.com | SkypeID: jrsiqueira 
> GMail: jrsiqueira             | ICQ....: 170327096
> São Paulo-SP-Brasil
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de Claudio O2
> Enviada em: quinta-feira, 12 de abril de 2007 11:36
> Para: rmgr-listas em rmgr.com.br; FireBase
> Assunto: Re: [firebase-br] Problema com SQL
>
> 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