Cita:
Iniciado por Libras De nada un placer, y para la siguiente vez trata de explicarte mejor que tuve que bajar la base de datos de northwind para poder entender que querias :S
Te agradesco y admiro tu capacidad y la paciencia que has tenido, pero te molesto una ves mas mira.
Código SQL:
Ver originalALTER FUNCTION m_ventaPtos(@pais VARCHAR(500))
RETURNS @monto TABLE (Pais VARCHAR(500),[1996] INT,[1997] INT,[1998] INT)
AS
BEGIN
INSERT @monto
SELECT shipcountry AS PAIS, isnull(SUM([1996]),0) AS [1996],isnull(SUM([1997]),0) AS [1997],isnull(SUM([1998]),0) AS [1998] FROM
(
SELECT
CASE WHEN datepart(yyyy,OrderDate)=1996 THEN SUM(total) END AS [1996],
CASE WHEN datepart(yyyy,OrderDate)=1997 THEN SUM(total) END AS [1997],
CASE WHEN datepart(yyyy,OrderDate)=1998 THEN SUM(total) END AS [1998],
ShipCountry
FROM(
SELECT
OrderDate,(UnitPrice * Quantity) AS total, ShipCountry
FROM [ORDER Details] AS t1
LEFT JOIN Orders AS t2 ON (t1.OrderID=t2.OrderID)
) AS t1
GROUP BY ShipCountry,orderdate
) AS t2 GROUP BY ShipCountry
RETURN
END
La funcion esta EXCELENTE hace los que yo quiero. Me devuelve esto de resultado.
Pero yo quiero que los resultados (montos) esten en decimales como esta aqui
Ese me sale de esa forma por que solo ejecute la consulta sola fuera de la FUNCION ESCALAR.