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

Pueden ayudarme con consulta sql?

Estas en el tema de Pueden ayudarme con consulta sql? en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/04/2011, 12:39
 
Fecha de Ingreso: abril-2011
Ubicación: Morazan
Mensajes: 27
Antigüedad: 13 años
Puntos: 0
Pueden ayudarme con consulta sql?

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)

como consigo que muestre resultados con decimales y existe alguna forma de obtener este mismo resultado
pero sin crear funcion?y alguien puede explicarme cada parrafo de este codigo?

Etiquetas: sql, bases-de-datos
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 15:00.