-- Asumiendo que la tabla se llama 'PRODUCTO' y tiene las columnas 'ID_PRODUCTO', 'DESCRIPCION' y 'PRECIO_VENTA' -- Declaramos las variables necesarias DECLARE @precioPromedio MONEY; DECLARE @idProducto INT; DECLARE @descripcion NVARCHAR(255); DECLARE @precioVenta MONEY; DECLARE @resultado NVARCHAR(255); -- Calculamos el precio promedio de todos los productos SELECT @precioPromedio = AVG(PRECIO_VENTA) FROM PRODUCTO; -- Mostramos el precio promedio PRINT 'Precio promedio: ' + CONVERT(NVARCHAR, @precioPromedio, 1); -- Declaramos el cursor para recorrer los productos DECLARE productoCursor CURSOR FOR SELECT ID_PRODUCTO, DESCRIPCION, PRECIO_VENTA FROM PRODUCTO; -- Abrimos el cursor OPEN productoCursor; -- Recuperamos la primera fila del cursor FETCH NEXT FROM productoCursor INTO @idProducto, @descripcion, @precioVenta; -- Recorremos el cursor WHILE @@FETCH_STATUS = 0 BEGIN -- Determinamos si el precio de venta está por encima o por debajo del promedio IF @precioVenta > @precioPromedio SET @resultado = 'Está por encima del promedio'; ELSE SET @resultado = 'Está por debajo del promedio'; -- Mostramos el resultado PRINT CONVERT(NVARCHAR, @idProducto) + ' ' + @descripcion + ' ' + CONVERT(NVARCHAR, @precioVenta, 1) + ' ' + @resultado; -- Recuperamos la siguiente fila del cursor FETCH NEXT FROM productoCursor INTO @idProducto, @descripcion, @precioVenta; END -- Cerramos y desasignamos el cursor CLOSE productoCursor; DEALLOCATE productoCursor;