Fórum Ajuda em SQL #372379

16/07/2009

0

Colegas, Tenho esse SQL:

Select V.PPAgo,V.CODVENDA,V.IDUSER,I.CODPROD,I.QTDE,I.PRECOUNIT,P.CM_CODFOR,
P.CM_DESCRI,P.CM_PACOTE,CM_UNIDAD,P.CM_PCUSTO,P.CM_FOTO,C.CL_CODCLI,C.CL_NOMCLI,C.CL_CIDACL
From Venda V,ItemVenda I,ADESTOKE P,ADCLIENT C
where V.Codcli = C.CL_CODCLI
and I.CodVenda = V.CodVenda
and I.Codprod = P.CM_CODMAT
AND C.CL_CODCLI = 4268
and V.IDUSER = 4
GROUP BY V.PPAgo,V.CODVENDA,V.IDUSER,I.CODPROD,I.QTDE,I.PRECOUNIT,P.CM_CODFOR,
P.CM_DESCRI,P.CM_PACOTE,CM_UNIDAD,P.CM_PCUSTO,P.CM_FOTO,C.CL_CODCLI,C.CL_NOMCLI,C.CL_CIDACL

Ele funciona, mas repete o mesmo iten de venda, gostaria que ele me listasse todos os itens vendido para um cliente, listando todos os produtos vendidos por codigo e mostrando na tela esses itens escolhendo o que foi vendido com o preço mais caro.

Ele esta listando assim:
VENDA PROD PRECO

2000 20 10,00
2000 20 12,00
2000 10 15,00

gostaria que ficasse assim:
VENDA PROD PRECO
2000 50 15,00

Somaria a quantidade de produtos vendido e me listava o que foi vendido mais caro.


Grato:
Jose Luiz


Jose Luiz

Jose Luiz

Responder

Posts

17/07/2009

Maikel

José, bom dia

Tente usar os 2 seguintes comando integrados a sua instrução SQL:
SUM - Soma as quantidades de produtos
MAX - Seleciona o maior preço

Então, sua SQL ficaria assim:
Select V.PPAgo, V.CODVENDA, V.IDUSER, I.CODPROD, SUM(I.QTDE), MAX(I.PRECOUNIT), P.CM_CODFOR,
P.CM_DESCRI, P.CM_PACOTE, CM_UNIDAD, P.CM_PCUSTO, P.CM_FOTO, C.CL_CODCLI, C.CL_NOMCLI, C.CL_CIDACL
From Venda V,ItemVenda I,ADESTOKE P,ADCLIENT C
where V.Codcli = C.CL_CODCLI
and I.CodVenda = V.CodVenda
and I.Codprod = P.CM_CODMAT
AND C.CL_CODCLI = 4268
and V.IDUSER = 4
GROUP BY V.PPAgo, V.CODVENDA, V.IDUSER, I.CODPROD, P.CM_CODFOR,
P.CM_DESCRI, P.CM_PACOTE, CM_UNIDAD, P.CM_PCUSTO, P.CM_FOTO, C.CL_CODCLI, C.CL_NOMCLI, C.CL_CIDACL 


Quando você usa SUM, MAX os campos aos quais estes são aplicados não constam mais no GROUP BY

Faz o teste ai e volta a postar o resultado

Att


Responder

Gostei + 0

17/07/2009

Jose Luiz

Amigo, muito obrigado pela força. Funcionou 100¬.

Valeu

Jose Luiz


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar