O QUE TA ERRADO NESSE SELECT ?

WEBIER 22/04/2013 18:57:39
#422313
fiz varios select para varias consultas... todas usando as mesma junção de tabelas, mas na consulta por mês as linhas aparecem duplicadas, triplicadass e etc...

A ideia seria mostar 1 linha para cada registro da tabela PEDIDOS, mas a tabela PEDIDOS está relacionada com a tabela PARCELAS.... então se 1 pedido possuir 3 parcelas, vai aparecer no grid de pedidos, 3 pedidos repetidos.... se 1 pedido possuir 2 parcelas, então ele vai repetir no grid pedidos 2 linhas...


olha o codigo aqui:

         sSQL = [Ô]SELECT DISTINCT cliente.*, pedidos.*, pedidos.total AS var_total, pedidos.cod_pedido AS var_codped, parcelas.valor_final [Ô] & _
[Ô]FROM cliente INNER JOIN pedidos ON cliente.codigo = pedidos.cod_cliente INNER JOIN parcelas ON parcelas.cod_pedido = pedidos.cod_pedido [Ô] & _
[Ô]WHERE (MONTH(pedidos.data_compra) = [Ô] & cboMes.ListIndex + 1 & [Ô]) AND (YEAR(pedidos.data_compra) = [Ô] & cboAno & [Ô]) ORDER BY [Ô] & INDICE

KERPLUNK 22/04/2013 19:11:33
#422315
Resposta escolhida
sSQL = [Ô]SELECT DISTINCT cliente.*, pedidos.*, SUM(pedidos.total) AS var_total, pedidos.cod_pedido AS var_codped, parcelas.valor_final [Ô] & _
[Ô]FROM cliente INNER JOIN pedidos ON cliente.codigo = pedidos.cod_cliente INNER JOIN parcelas ON parcelas.cod_pedido = pedidos.cod_pedido [Ô] & _
[Ô]WHERE (MONTH(pedidos.data_compra) = [Ô] & cboMes.ListIndex + 1 & [Ô]) AND (YEAR(pedidos.data_compra) = [Ô] & cboAno & [Ô]) group by cliente.Campo_identificador ORDER BY [Ô] & INDICE
WEBIER 23/04/2013 17:52:28
#422390
amigo, fiz conforme me passou e deu o seguinte erro:

tá no anexo:
KERPLUNK 23/04/2013 18:29:52
#422392
Você tem que colocar no group by também os outros campos. Se não der certo, o melhor seria fazer sub-queries.
Tópico encerrado , respostas não são mais permitidas