SUM dentro do SQL de busca

Firebird

24/09/2010

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

Curtidas 0

Respostas

Alessandro Coelho

Alessandro Coelho

24/09/2010

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
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

24/09/2010

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.

GOSTEI 0
Alessandro Coelho

Alessandro Coelho

24/09/2010

obrigado, Emerson deu certo.
GOSTEI 0
POSTAR