none
Colocar Perido de Data no Case RRS feed

  • Pergunta

  • Prezados bom dia,

    estou com uma Duvida com essa SQL vejam se podem me ajudar.

    sql

    SELECT C.CODTRF AS [CODIGO],
    C.NOME          AS [NOME],
    CONVERT(CHAR(10),C.DTINICIO,103) + ' a ' + CONVERT(CHAR(10),C.DTFIM,103) AS PERIODO,
    SUM(CASE  WHEN (C.IDPERIODO) = 265 THEN  C.QUANTREAL   END) AS [PER]
     FROM MXMTRFCRONOG AS C WHERE IDPRJ = '784'  AND IDTRF = '11' AND
    DTINICIO >= '2012-01-21'  AND DTFIM <= '2012-02-20'
    GROUP BY C.CODTRF,
    C.NOME,C.DTINICIO,C.DTFIM

    ResultadoPer

    Codigo                       Nome               Periodo                                     Periodo
    001.002.002.001.001 Escavação         21/01/2012 a 21/01/2012         5.0000

    Preciso juntar as informaçoes do Periodo CONVERT(CHAR(10),C.DTINICIO,103) + ' a ' + CONVERT(CHAR(10),C.DTFIM,103) com o CASE.

    Eu tentei trocar no case (C.IDPERIODO) = 265  por CONVERT(CHAR(10),C.DTINICIO,103) + ' a ' + CONVERT(CHAR(10),C.DTFIM,103) porem nao deu certo me retornou erro.

    vejam


    SUM

    (CASE  WHEN CONVERT(CHAR(10),C.DTINICIO,103) + ' a ' + CONVERT(CHAR(10),C.DTFIM,103) THEN  C.QUANTREAL   END) AS [P1],

    Erro

    Msg 4145, Level 15, State 1, Line 5


    An expression of non-boolean type specified in a context where a condition is expected, near 'THEN'.

    Obrigado pela ajuda.

    terça-feira, 13 de março de 2012 14:04

Todas as Respostas

  • Bom dia,

    Não consegui entender o resultado que você deseja obter...

    Você quer obter o resultado da soma concatenado com o periodo na mesma coluna?

    Se não for isso, acho melhor você postar o resultado desejado.


    Assinatura: Imobiliarias em Suzano

    terça-feira, 13 de março de 2012 14:41
  • Ok,
    resultado esperado

    ResultadoPer

    Codigo                            Nome              21/01/2012 a 21/01/2012        etc.....                          

    001.002.002.001.001      Escavação                  5.0000

    obrigado

    terça-feira, 13 de março de 2012 14:44
  • Ronnie,

    Você deseja fazer uma análise condição com base na concatenação de valores no Case, sinceramente temos que analisar. Não seria o caso de utilizar o operando And ao invês de concatenar.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 13 de março de 2012 17:54