Fórum SUM dentro do SQL de busca #387080

24/09/2010

0

Ola, tive uma ajuda com uma formula SUM q me solucionou o problema, mas tenho q fazer uma sum dentro de um sql de busca, vou informar as tabelas e o resultado.   Preciso informar: Assoc, fazenda, ano contrato, num contrato, algodoeira   Resultado esperado:   NTipo_Lote                        SUM 31.4                                   657 41.4                                   680   ** tab-contrato   asso_contrato faz_contrato ano_contrato codano_contrato algo_contrato     ** o sql do sum ja tenho SELECT NTipo_Lote,SUM(NAmostra_lote) FROM Lote where Data_lote between :DataIni and :DataFim GROUP BY NTipo_Lote
Alessandro Coelho

Alessandro Coelho

Responder

Posts

24/09/2010

Alessandro Coelho

Ola, tive uma ajuda com uma formula SUM q me solucionou o problema, mas tenho q fazer uma sum dentro de um sql de busca, vou informar as tabelas e o resultado.   Preciso informar: Assoc, fazenda, ano contrato, num contrato, algodoeira   Resultado esperado:   NTipo_Lote                        SUM 31.4                                   657 41.4                                   680   ** tab-contrato   asso_contrato faz_contrato ano_contrato codano_contrato algo_contrato     ** o sql do sum ja tenho SELECT NTipo_Lote,SUM(NAmostra_lote) FROM Lote where Data_lote between :DataIni and :DataFim GROUP BY NTipo_Lote
tinha pensado em algo assim, mas nao sei a maneira correta de fazer   SELECT L.NTipo_Lote, SUM(L.NAmostra_lote) FROM Lote L where (SELECT C.Asso_Cont, C.Faz_Cont,C.Ano_Cont, C.CodAno_Cont ,C.Algo_Cont FROM contrato C WHERE C.Asso_Cont = :Fornec AND C.Faz_Cont = :Fazenda AND C.Ano_Cont = :Ano AND C.CodAno_Cont = :Contrato AND C.Algo_Cont = :Algodo) GROUP BY L.NTipo_Lote
Responder

Gostei + 0

27/09/2010

Emerson Nascimento

teste com esta instrução:

SELECT
  L.NTipo_Lote, SUM(L.NAmostra_lote)
FROM
  Lote L
LEFT JOIN
  Contrato C on C.CodAnoContrato = L.CodAnoContrato
WHERE
  C.Asso_Cont = :Fornec
  AND C.Faz_Cont = :Fazenda
  AND C.Ano_Cont = :Ano
  AND C.CodAno_Cont = :Contrato
  AND C.Algo_Cont = :Algodo
GROUP BY
  L.NTipo_Lote

note que é preciso fazer o relacionamento entre as tabelas LOTE e CONTRATO. como você não publicou as estruturas das tabelas, assumi que o campo de relacionamento seria CodAnoContrato.

Responder

Gostei + 0

28/09/2010

Alessandro Coelho

obrigado, Emerson deu certo.
Responder

Gostei + 0

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

Aceitar