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

Calcular Stock Existente

Estas en el tema de Calcular Stock Existente en el foro de SQL Server en Foros del Web. Buenas a toda la comunidad de este foro el problema que tengo es el siguiente tengo que hacer una consulta en sql server del stock ...
  #1 (permalink)  
Antiguo 15/01/2010, 13:58
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Calcular Stock Existente

Buenas a toda la comunidad de este foro

el problema que tengo es el siguiente

tengo que hacer una consulta en sql server del stock existente en bodega
y el resultado que me da es erroneo, ya que mis datos de prueba arrojan otros valores
bueno mis tablas son las sgts:

factura: donde se almacenan mis facturas
guia_despacho : donde despacho productos anteriormente en bodega
asociacion_factura_producto : donde esta el detalle dcomo el codigo_producto y el id_factura, cantidad_1, precio_unitario_1
asociacion_guia_producto : donde esta el detalle de codigo_producto y el id_guia_despacho, cantidad_2

bueno hice dos consultas anteriormente para conocer el stock comprado y el stock utilizado estas son:

'''''SE FILTRAN LOS PRODUCTOS POR DEPARTAMENTO DANDO LA CANTIDAD COMPRADA'''''

SELECT PRODUCTO.CODIGO_PRODUCTO, PRODUCTO.NOMBRE_PRODUCTO, SUM(CANTIDAD_1) AS CANTIDAD FROM PRODUCTO
INNER JOIN ASOCIACION_FACTURA_PRODUCTO ON PRODUCTO.CODIGO_PRODUCTO = ASOCIACION_FACTURA_PRODUCTO.CODIGO_PRODUCTO
INNER JOIN FACTURA ON FACTURA.ID_FACTURA = ASOCIACION_FACTURA_PRODUCTO.ID_FACTURA
WHERE FACTURA.CODIGO_DEPARTAMENTO = X
GROUP BY PRODUCTO.NOMBRE_PRODUCTO, PRODUCTO.CODIGO_PRODUCTO


''''''''''''SE FILTRAN LOS PRODUCTOS POR DEPARTAMENTO DANDO LA CANTIDAD UTILIZADA DE STOCK''''''''''''


SELECT PRODUCTO.NOMBRE_PRODUCTO,
SUM(CANTIDAD_2) AS CANTIDAD_PRODUCTO FROM PRODUCTO
INNER JOIN ASOCIACION_GUIA_PRODUCTO ON PRODUCTO.CODIGO_PRODUCTO = ASOCIACION_GUIA_PRODUCTO.CODIGO_PRODUCTO
INNER JOIN GUIA_DESPACHO ON GUIA_DESPACHO.CODIGO_GUIA = ASOCIACION_GUIA_PRODUCTO.CODIGO_GUIA
WHERE GUIA_DESPACHO.CODIGO_DEPARTAMENTO_DESPACHA = X
GROUP BY PRODUCTO.NOMBRE_PRODUCTO
------------------------------------------------------------------------------------------------

PERO EL STOCK EXISTENTE QUE SE SUPONE QUE ES LA RESTA DE LO COMPRADO MENOS LO UTILIZADO NO ME RESULTA

MIREN LO QUE INTENTE:


SELECT PRODUCTO.CODIGO_PRODUCTO, PRODUCTO.NOMBRE_PRODUCTO, SUM(CANTIDAD_1 - CANTIDAD_2) AS CANTIDAD_EXISTENTE FROM PRODUCTO
INNER JOIN ASOCIACION_GUIA_PRODUCTO ON PRODUCTO.CODIGO_PRODUCTO = ASOCIACION_GUIA_PRODUCTO.CODIGO_PRODUCTO
INNER JOIN GUIA_DESPACHO ON GUIA_DESPACHO.CODIGO_GUIA = ASOCIACION_GUIA_PRODUCTO.CODIGO_GUIA
INNER JOIN ASOCIACION_FACTURA_PRODUCTO ON PRODUCTO.CODIGO_PRODUCTO = ASOCIACION_FACTURA_PRODUCTO.CODIGO_PRODUCTO
INNER JOIN FACTURA ON FACTURA.ID_FACTURA = ASOCIACION_FACTURA_PRODUCTO.ID_FACTURA
WHERE FACTURA.CODIGO_DEPARTAMENTO = X
OR GUIA_DESPACHO.CODIGO_DEPARTAMENTO_DESPACHA = X
GROUP BY NOMBRE_PRODUCTO, PRODUCTO.CODIGO_PRODUCTO


USE UN CRUCE DE TABLAS INCREIBLES Y NO ME DA EL RESULTADO ESPERADO

BUENO OJALA ME PUEDAN AYUDAR Y POR SI ACASO TRABAJO CON SQL SERVER 2007 Y CUALQUIER ACLARACION QUE QUIERAN SABER ME LA PIEN

SALUDOS
  #2 (permalink)  
Antiguo 16/01/2010, 00:09
 
Fecha de Ingreso: enero-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Calcular Stock Existente

Hola Pablotaku, me gustaría ayudarte pero estoy un poco confundido.
Necesitaria que pongas un ejemplo de las tablas para poder ver con mas claridad y mostrarte como lo haría yo.
Salu2
  #3 (permalink)  
Antiguo 27/01/2010, 12:24
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Calcular Stock Existente

Haber daperci las tablas son estas

factura
id_factura
codigo_departamento
codigo_unidad
fecha_ingreso_factura

guia_despacho
codigo_guia
codigo_departamento_solicita
codigo_unidad_solicita

asociacion_factura_producto = detalle de factura

codigo_producto
id_factura
precio_unitario_1
cantidad_1
total_unitario_1

asociacion_guia_producto = detalle guia
codigo_producto
codigo_guia
cantidad_2

producto
codigo_producto
nombre_producto

bueno esa son las tablas mas importantes con los datos mas nesesarios
y tambien hice unos cambios en la consultas respectivas de arriba (con menos filtros )


'''''se filtran los productos dando la cantidad comprada'''''

select producto.nombre_producto, sum(asociacion_factura_producto.cantidad_1) as cantidad_comprada from producto
inner join asociacion_factura_producto on producto.codigo_producto = asociacion_factura_producto.codigo_producto
inner join factura on factura.id_factura = asociacion_factura_producto.id_factura
group by producto.nombre_producto

Y LA CONSULTA ME DIO EL RESULTADO CORRECTO, AQUI DATOS DE PRUEBA

NOMBRE_PRODUCTO CANTIDAD_COMPRADA
------------------------------ -----------------
ADHESIVO BARRA 20
CARPETA 20
CARTULINA 12
CD REGRABABLE 30
CERA 30
CINTA EMBALAJE 12
CLORO 50



''''''''''''se filtran los productos dando la cantidad utilizada de estos''''''''''''

select producto.nombre_producto, sum(asociacion_guia_producto.cantidad_2) as cantidad_despachada from producto
inner join asociacion_guia_producto on producto.codigo_producto = asociacion_guia_producto.codigo_producto
inner join guia_despacho on guia_despacho.codigo_guia = asociacion_guia_producto.codigo_guia
group by producto.nombre_producto

NOMBRE_PRODUCTO CANTIDAD_DESPACHADA
------------------------------ -------------------
ADHESIVO BARRA 10
CARPETA 15
CARTULINA 6
CD REGRABABLE 12
CERA 15
CINTA EMBALAJE 2
CLORO 19


LA IDEA ES QUE CON LA CONSULTA PARA DETERMINAR EL STOCK EXISTENTE ME DIERAN ESTOS DATOS

NOMBRE_PRODUCTO CANTIDAD_DESPACHADA
------------------------------ -------------------
ADHESIVO BARRA 10
CARPETA 5
CARTULINA 6
CD REGRABABLE 18
CERA 15
CINTA EMBALAJE 10
CLORO 31


ya se que esta complicado, pero ojala me puedan ayudar,
se lo agradesco
pd:cualquier duda me dicen
saludos!!
  #4 (permalink)  
Antiguo 27/01/2010, 12:42
Avatar de Jona_than  
Fecha de Ingreso: noviembre-2005
Ubicación: Chile
Mensajes: 155
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Calcular Stock Existente

La mansa embarradita Otako loco! deja cranearla y ver si te puedo echar una manito, que igual tanta asociación me entro a marear.

Saludos colega :)
__________________
- Fasecreativa
- Twitter @jonyram
  #5 (permalink)  
Antiguo 27/01/2010, 13:05
 
Fecha de Ingreso: enero-2010
Mensajes: 4
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Respuesta: Calcular Stock Existente

Hola Pablo

Si mis calculos estan correctos, esto te deberia ayudar...

select producto.nombre_producto, sum(asociacion_factura_producto.cantidad_1) as cantidad_comprada,
sum(asociacion_guia_producto.cantidad_2) as cantidad_despachada, (cantidad_comprada - cantidad_despachada) as stock_actual
from producto
inner join asociacion_guia_producto on producto.codigo_producto = asociacion_guia_producto.codigo_producto
inner join guia_despacho on guia_despacho.codigo_guia = asociacion_guia_producto.codigo_guia
inner join factura on factura.id_factura = asociacion_factura_producto.id_factura
group by producto.nombre_producto


Revisa bien los join, si no te funciona con los alias prueba con el nombre del campo...
En vez de (cantidad_comprada - cantidad_despachada)
intenta con sum(asociacion_factura_producto.cantidad_1) - sum(asociacion_guia_producto.cantidad_2)


Suerte, ahi me comentas

Saludos

Etiquetas: existente, stock, calculadora
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 22:29.