Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

como obtengo exactamente los resultados de esta consulta pero sin crear funcion

Estas en el tema de como obtengo exactamente los resultados de esta consulta pero sin crear funcion en el foro de SQL Server en Foros del Web. como consigo que muestre resultados con decimales? y como logro obtener este mismo resultado pero sin crear funcion? IF OBJECT_ID (N'dbo.ProductResultByMonth', N'FN') IS NOT NULL ...
  #1 (permalink)  
Antiguo 08/04/2011, 15:32
 
Fecha de Ingreso: abril-2011
Ubicación: Morazan
Mensajes: 27
Antigüedad: 13 años
Puntos: 0
como obtengo exactamente los resultados de esta consulta pero sin crear funcion

como consigo que muestre resultados con decimales? y como logro obtener este mismo resultado
pero sin crear funcion?


IF OBJECT_ID (N'dbo.ProductResultByMonth', N'FN') IS NOT NULL
DROP FUNCTION dbo.ProductResultByMonth;
GO
CREATE FUNCTION dbo.ProductResultByMonth(@ProductId INT, @Year INT, @Month int)
RETURNS decimal
WITH EXECUTE AS CALLER
AS
BEGIN
DECLARE @Result decimal;

SELECT
@Result = SUM([ORDER Details].UnitPrice * [ORDER Details].Quantity)
FROM
Products
INNER JOIN
[ORDER Details]
ON
[ORDER Details].ProductID = Products.ProductID
INNER JOIN
Orders
ON
[ORDER Details].OrderID = Orders.OrderID
WHERE
Products.ProductID = @ProductId AND
YEAR(Orders.OrderDate) = @Year AND
MONTH(Orders.OrderDate) = @Month

RETURN(ISNULL(@Result,0));
END;
GO


DECLARE @Year int
SET @Year = 1997

SELECT
ProductName,
dbo.ProductResultByMonth(ProductID, @Year, 1) Enero,
dbo.ProductResultByMonth(ProductID, @Year, 2) Febrero,
dbo.ProductResultByMonth(ProductID, @Year, 3) Marzo,
dbo.ProductResultByMonth(ProductID, @Year, 4) Abril,
dbo.ProductResultByMonth(ProductID, @Year, 5) Mayo,
dbo.ProductResultByMonth(ProductID, @Year, 6) Junio,
dbo.ProductResultByMonth(ProductID, @Year, 7) Julio,
dbo.ProductResultByMonth(ProductID, @Year, 8) Agosto,
dbo.ProductResultByMonth(ProductID, @Year, 9) Septiembre,
dbo.ProductResultByMonth(ProductID, @Year, 10) Octubre,
dbo.ProductResultByMonth(ProductID, @Year, 11) Noviembre,
dbo.ProductResultByMonth(ProductID, @Year, 12) Diciembre
FROM
Products (nolock)

Etiquetas: funcion, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.