none
ajuda soma de valores no sql RRS feed

  • Pergunta

  •  BOA TARDE, PESSOAL 

    SOU NOVO EM PROGRAMAÇÃO E ESTOU COM UM PROBLEMA NA QUAL ESTOU QUEBRANDO A CABEÇA.

     TENHO UMA QUERO QUE VAI ME RETORNAR X VALORES POREM QUANDO TENTO AGRUPAR  AS MESMAS ELA NÃO AGRUPA E SIM APRESENTA MAIS UMA COLUNA QUE NA QUAL SERIA A SOMA DE  TODOS OS VALORES E AINDA NÃO SOMA SÓ DUPLICA A COLUNA APRESENTANDO OS MESMOS VALORES :s 

    PODERIAM  ME AJUDAR? 

      desde ja agradeço.

    Segue minha Query.

    SELECT T.CAMPO, 
    (CASE WHEN E.CODRUBRICA = 100 THEN E.DESCRICAO ELSE T.COLUNA1 END) AS DESCRICAO  ,
    (CASE WHEN T.CAMPO IN (55,56) THEN CONVERT(VARCHAR,LEFT(REF, CHARINDEX('.', REF)-1)) + ':' + RIGHT(C.REF ,2) ELSE
    CASE WHEN T.CAMPO IN (63,65) THEN CONVERT(VARCHAR,LEFT(REF, CHARINDEX('.', REF)-1)) + '/12' ELSE
    CASE WHEN T.CAMPO NOT IN (55,56,63,65) THEN '' END END END) AS RUBRICA,
    T.COLUNA2,
    LEFT(E.PORCINCID * 100, CHARINDEX('.', (E.PORCINCID * 100))-1) + '%' AS PORCENTAGEM,
    C.VALOR,SUM(C.VALOR) AS TOTAL
    FROM PEVENTO E, PFUNC F, PFFINANC C, ZTRCTRUBRICAS T
    WHERE F.CODCOLIGADA = C.CODCOLIGADA
    AND E.CODCOLIGADA = C.CODCOLIGADA
    AND F.CHAPA = C.CHAPA
    AND E.CODIGO = C.CODEVENTO
    AND E.CODRUBRICA = T.CODRUBRICA
    AND E.PROVDESCBASE = 'P'
    AND E.CODIGO NOT IN ('0001')
    AND F.CHAPA = 4114133
    AND C.MESCOMP = 1
    AND C.ANOCOMP = 2014
    AND C.NROPERIODO = 15
    GROUP BY CAMPO,DESCRICAO,CASE WHEN E.CODRUBRICA = 100 THEN E.DESCRICAO ELSE T.COLUNA1 END,CASE WHEN T.CAMPO IN (55,56) THEN CONVERT(VARCHAR,LEFT(REF, CHARINDEX('.', REF)-1)) + ':' + RIGHT(C.REF ,2) ELSE
    CASE WHEN T.CAMPO IN (63,65) THEN CONVERT(VARCHAR,LEFT(REF, CHARINDEX('.', REF)-1)) + '/12' ELSE
    CASE WHEN T.CAMPO NOT IN (55,56,63,65) THEN '' END END END,COLUNA2,E.PORCINCID,VALOR

     

    segunda-feira, 3 de março de 2014 15:13

Respostas

Todas as Respostas

  • Deleted
    segunda-feira, 3 de março de 2014 21:31
  • Deleted
    segunda-feira, 3 de março de 2014 21:37
  • Jose.Diz Agradeço a  Atenção.

    Então vamos la .

    sobre sua primeira observação quando tiro ela da clausula group by apresenta que precisa  dela ara poder agrupar.  porem se eu nao apresentar ela na lista de seleção  não vai ser apresentado os valores que preciso no resultado :S 

    como não estou no serviço vou testar para ter certeza rsrssrsrs.

    eu tentei colocar   somente o apelido que dei a coluna no group by mesmo assim  me retorna errro eu consegui rodar o codigo usando os  case when no group by sem elas me da   apresenta erro.

    Desde já novamente agradeço a ajuda assim que voltar ao trabalho irei testar.

     ATT

    terça-feira, 4 de março de 2014 00:03
  • Deleted
    • Marcado como Resposta Renan Soeiro quarta-feira, 5 de março de 2014 15:31
    terça-feira, 4 de março de 2014 00:20
  • Jose.Diz Desculpe minha  ignorância mas oque  seria  CTE ?

    ATT

     
    terça-feira, 4 de março de 2014 00:30
  • Deleted
    • Marcado como Resposta Renan Soeiro quarta-feira, 5 de março de 2014 15:31
    terça-feira, 4 de março de 2014 00:51