Select com IF

18/02/2011

0

Pessoal estou com a seguinte situação:   Preciso lista a soma de proventos de cada Mês por local(departamento), com essa query consigo fazer isso, porém o problema é que a tabela R038HLO é de histórico, ou seja armazena registros de tranferencias de local, com isso para cada registro na tabela R038HLO o valor será repetido. Preciso criar uma condição que verifique o local que o colaborador estava conforme o R044CAL.PerRef utilizando a R038HLO.DatAlt.   No exemplo abaixo estou listando a soma dos eventos do colaborador 1561 no periodo de Janeiro até Março Como existe dois históricos na tabela R038HLO o os valores são apresentados duas vezes para cada Periodo onde deveria ficar assim: NumCad NumLoc PerRef Soma_ValEve 1561 178 2010-01-01 1823,08 1561 331 2010-02-01 1823,08 1561 331 2010-03-01 1823,08     Obrigado.
Jorge Junior

Jorge Junior

Responder

Posts

18/02/2011

Emerson Nascimento

creio ser problema no seu agrupamento.

poste a instrução SQL para que possamos analisa-la.
Responder

18/02/2011

Jorge Junior

é esse anexo.   SELECT r034fun.numcad, R038HLO.NumLoc, R044CAL.PerRef, SUM(R046VER.ValEve) AS Soma_ValEve FROM R038HLO INNER JOIN r034fun ON R038HLO.NumEmp = r034fun.numemp AND R038HLO.TipCol = r034fun.tipcol AND R038HLO.NumCad = r034fun.numcad INNER JOIN R046VER ON r034fun.numemp = R046VER.NumEmp AND r034fun.tipcol = R046VER.TipCol AND r034fun.numcad = R046VER.NumCad INNER JOIN R044CAL ON R046VER.NumEmp = R044CAL.NumEmp AND R046VER.CodCal = R044CAL.CodCal INNER JOIN R008EVC ON R046VER.TabEve = R008EVC.CodTab AND R046VER.CodEve = R008EVC.CodEve WHERE (r034fun.numcad = 1561) AND (R044CAL.PerRef BETWEEN '2010-01-01' AND '2010-03-01') AND (R008EVC.TipEve = 1) AND (R044CAL.TipCal = 11) GROUP BY r034fun.numcad, R038HLO.NumLoc, R044CAL.PerRef Sds.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar