Access - Problemas promedio y cantidad total

 
Vista:

Problemas promedio y cantidad total

Publicado por johimer (4 intervenciones) el 26/10/2006 23:34:38
Buenas tardes,

Tengo la siguiente dificultad:

Esta instruccion me da como resultado la existencia actual en el inventario pero no se como saca el valor unitario ( es la suma del todos los valores/numero de entradas) y valor total ( es multiplicar existencias * valor unitario) de cada producto.

SELECT DISTINCTROW Productos.IdProducto, Productos.NombreProducto, Sum(nz([UnidadesRecibidas])-nz([UnidadesVendidas])-nz([ReducciónUnidades])) AS [Unidades en existencia]

FROM Productos INNER JOIN [Transacciones de inventario] ON Productos.IdProducto = [Transacciones de inventario].IdProducto
GROUP BY Productos.IdProducto, Productos.NombreProducto, [Transacciones de inventario].PrecioUnidad;

Quien me pueda ayudar le quedare muy agradecido.
creanme que estoy en serias dificultades.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Obtener existencia, valor unitario y valor total de productos en inventario

Publicado por Alejandro (4142 intervenciones) el 27/07/2023 18:34:56
Buenas tardes, Johimer.

Para obtener el valor unitario y el valor total de cada producto en el inventario, necesitas hacer algunas modificaciones en la consulta que estás utilizando. Puedes usar subconsultas para calcular el valor unitario y luego multiplicarlo por la cantidad en existencia para obtener el valor total. Aquí te muestro cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
    Productos.IdProducto,
    Productos.NombreProducto,
    Sum(nz([UnidadesRecibidas]) - nz([UnidadesVendidas]) - nz([ReducciónUnidades])) AS [Unidades en existencia],
    Nz([ValorTotal] / [Unidades en existencia], 0) AS [Valor Unitario],
    [ValorTotal] AS [Valor Total]
 
FROM Productos
INNER JOIN (
    SELECT
        IdProducto,
        Sum(nz([UnidadesRecibidas]) - nz([UnidadesVendidas]) - nz([ReducciónUnidades])) AS [Unidades en existencia],
        Sum([PrecioUnidad] * (nz([UnidadesRecibidas]) - nz([UnidadesVendidas]) - nz([ReducciónUnidades]))) AS [ValorTotal]
    FROM [Transacciones de inventario]
    GROUP BY IdProducto
) AS [Subconsulta]
ON Productos.IdProducto = [Subconsulta].IdProducto
 
GROUP BY Productos.IdProducto, Productos.NombreProducto, [ValorTotal];

En esta consulta, la subconsulta calcula las unidades en existencia y el valor total de cada producto en el inventario agrupando por `IdProducto`. Luego, en la consulta principal, se realiza una unión con la tabla `Productos` y se calcula el valor unitario dividiendo el `ValorTotal` entre las `Unidades en existencia`.

Con esta consulta, obtendrás la existencia actual, el valor unitario y el valor total de cada producto en el inventario.

Espero que esta solución te sea útil para resolver tu dificultad. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar