Hola Armando,
¡Bienvenido(a) a Microsoft Q&A!
Para calcular el saldo y el costo promedio en SQL Server, puedes usar una consulta que mantenga un registro de las entradas y salidas de productos. Aquí te muestro un ejemplo de cómo podrías estructurar tu consulta:
Ejemplo de Consulta SQL
WITH CTE AS (
SELECT
FECHA,
PRODUCTO,
ENTRADA,
SALIDA,
SUM(ENTRADA - ISNULL(SALIDA, 0)) OVER (ORDER BY FECHA) AS SALDO,
CASE
WHEN ENTRADA IS NOT NULL THEN
(SELECT AVG(COSTO)
FROM (VALUES (110), (108)) AS C(COSTO)) -- Aquí puedes agregar más costos según las entradas
ELSE
NULL
END AS COSTO_PROMEDIO
FROM
TuTabla
)
SELECT
FECHA,
PRODUCTO,
ENTRADA,
SALIDA,
SALDO,
COSTO_PROMEDIO,
SALDO * ISNULL(COSTO_PROMEDIO, 0) AS VALORIZADO
FROM
CTE;
Explicación:
- CTE (Common Table Expression): Se utiliza para calcular el saldo acumulado y el costo promedio.
- SUM() OVER(): Calcula el saldo acumulado de entradas y salidas.
- CASE: Determina el costo promedio basado en las entradas. Aquí puedes ajustar la lógica para incluir todos los costos de las entradas anteriores.
- VALORIZADO: Se calcula multiplicando el saldo por el costo promedio.
Adicionalmente, asegúrate de que los costos de las entradas se registren correctamente en la tabla. Tambien puedes ajustar la lógica del costo promedio para que se adapte a tus necesidades específicas, como incluir solo los costos de las entradas anteriores.
Espero que información brindada fuera útil. Si necesitas más asistencia, estoy a tu disposición.
Atentamente,
Gao
Si esta respuesta resolvió tu consulta, por favor haz clic en 'Aceptar respuesta'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.