PDA

Ver la Versión Completa : Consulta SQL


farrop
17-09-2008, 01:24:38
Hola a todos!
Quisiera pedir ayuda para hacer una consulta, la cual no se me ocurre como hacerla.
Primeramente presento los campos.
Vencimientos
Artículo _ Cantidad _ FechaVencimiento
10 _____ 5 ___________ 01/09/2008
10 _____ 5 ___________ 01/10/2008
11 _____ 5 ___________ 01/10/2008
10 _____ 5 ___________ 01/11/2008
11 _____ 5 ___________ 01/11/2008
Esos serian, significa que compre 5 artículos del código 10 que vencen el 01/09/2008, y asi sucesivamente.
Por otra parte esta la tabla artículos
Artículo _ Descripción _ Stock
10 _____ Coca Cola _____ 7
11 _____ Sprite ________ 3
Ahí lo que quiero sacar es un reporte q me digan cuantos artículos tengo con qué fecha de vencimiento. El Resultado me debería dar lo siguiente:
Articulo _ Descripción _ Cantidad _ FechaVencimiento
10 ______ Coca Cola ____ 2 ________ 01/10/2008
10 ______ Coca Cola ____ 5 ________ 01/11/2008
11 ______ Sprite _______ 3 ________ 01/11/2008
Bueno, espero haberme explicado correctamente, como dato importante, estoy utiliz<ando PostgreSQL 8.3.
Saludos y Gracias por la ayuda que ofrecen aqui.

AzidRain
17-09-2008, 01:55:52
Eso no sirve....
Por la simple y sencilla razón de que:

La tabla de artículos, que sería el stock, no tiene forma de saber cuantos de sus X artículos vencen tal o cual fecha. Simple y sencillamente porque al momento de hacer la venta no tenemos forma de saber el vencimiento preciso del artículo que estamos vendiendo ya que este no viene codificado en ningún lado. Solamente sabemos que se vendioo tal o cual artículo pero nada sabemos de su caducidad.

En grandes empresas (Wal-Mart me consta) este caso de las caducidades se sigue llevando hasta hoy de manera manual dada esta limitante, con los consiguientes problemas derivados así que dile a tus clientes/jefes que no se proyecten pidiendo cosas que con lo que hay actualmente no es posible hacer.

coso
17-09-2008, 14:11:59
tal como dice azidrain, no se puede saber cuantos articulos te quedan de tal o cual compra con cierta fecha de vencimiento. Esto se acostumbra a tratar por lotes, indicando en el momento de la venta de que lote se esta vendiendo. Ahora bien, veo q tratas de bebidas : en los almacenes distribuidores de bebidas se acostumbra a poner los palets mas antiguos para vender primero, por lo que puedes suponer que los vendidos siempre son los que tienen la fecha de vencimiento mas cercana. Deberias asegurarte, si es el caso.
Otra cosa, si no estas teniendo en cuenta las ventas (pues no las nombras) la consulta seria algo asi


select articulo, (select descripcion from articulos where articulo = vencimientos.articulo) as descripcion, cantidad, fecha from vencimientos order by articulo


lo unico que hace en este caso es buscar la descripcion correspondiente desde la tabla articulos. Seguramente con un 'join' conseguirias un resultado parecido. Si lo que quieres es que la cantidad te refleje el stock real, deberas tratar por lotes tal como se dice arriba.

farrop
19-09-2008, 22:23:14
Estoy muy de acuerdo q de NO sirve, pero al menos da para tener un estimativo...
Se q no resulta, pero aun asi me gustaria saber como seri ala sentencia SQL, si me poddrian ayudar.
Saludos

coso
19-09-2008, 22:38:56
si no tienes en cuenta las ventas...arriba tienes una consulta. en ella puedes modificar la cantidad haciendo resta de la existente con alguna de una supuesta tabla 'ventas'.