none
Pasar sql a linq RRS feed

  • Pregunta

  • Holaaa a todos, he estado tratando de dar con la convercion de esta consulta pero no lo he podido encontrar ya que tiene case y nose cual es la sintaxis en linq

    SELECT CASE WHEN CAST(SUM(Amount) AS NUMERIC) IS NULL THEN 0 ELSE SUM(Amount) END AS Valor 
    FROM  Venat
    WHERE (RazonSocial = '" + razon + "') AND (YearFY = 2013) AND (QuarterFY = '" + trimestreActual + "') AND (MonthFY = '" + mes1 + "') 

    bueno ahi lo que no se es el case ... si alguien sabe lo agradeceria mucho


    Soy rudo (H)

    lunes, 4 de marzo de 2013 11:40

Todas las respuestas

  • hola

    imagino usas linq to sql o entity framework, no?

    es que quizas no todo puedas hacer dentro de un linq, pero podrias buscar aproximarte y despues usar .net

    int result = (from item in context.datos
    				where item.RazonSocial = razon
    				&& YearFY= 2013 
    				&& QuarterFY = trimestreActual 
    				&& MonthFY = mes1 
    			select item.Amount).Sum();


    Nota: puse el ejemplo en c# porque no mencionaste en que lenguaje programas, recuerda mencionarlo cuando planteas preguntas en el foro

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 4 de marzo de 2013 14:20
  • Si, perdon estoy trabajando con .net C#

    y claro tu ejemplo es la sintaxis q se requiere pero el problema es el case en caso de que el resultado de la suma sea null me de un 0


    Soy rudo (H)

    lunes, 4 de marzo de 2013 14:42
  • o sea el campo Amount permite null ? podrias filtrarlo

    int result = (from item in context.datos where item.RazonSocial = razon && YearFY= 2013 && QuarterFY = trimestreActual && MonthFY = mes1

    && Amount != null select item.Amount).Sum();

    al quitar los null ya no los sumara

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 4 de marzo de 2013 15:09