Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2015, 11:40
george_sks
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Consulta Select

Que tal amigos, estoy batallando bastante con una consulta que no se si me la estoy complicando yo solo, les explico lo que intento hacer:

tengo una tabla en la bd con mas o menos la siguiente estructura:

tabla de existencias ->
id_existencia -- id_producto -- id_almacen -- cantidad
1 500 1 10
2 500 2 5
3 500 3 20
4 500 4 9
n n n n

bien les explico para que funciona esa tabla, esa tabla me guarda la existencia de cada producto en los distintos almacenes, por eso pueden observar que el id_producto se repite por cada id_almacen y lo que varia es la cantidad, entonces, necesito un reporte que haga lo siguiente:

el usuario escojera 1 almacen, de ese almacen le debe mostrar la existencia y le debe mostrar siempre la existencia del almacen 2 y 3, mas o menos quedaria asi el reporte que estoy buscando realizar:

producto existencia_alm_seleccionado(1) existencia_alm2 existencia_alm3
500 10 5 20


espero me haya explicado, lo que yo hice fue lo siguiente, pero se queda demora demasiado, de 10 a 15 minutos, ya que el total de productos son 28 mil registros, aqui esta mi script php

Código PHP:
$id_almacen $_POST["almacen"];
        
$almacenMty 5;
        
$almacenBodega 7;
        
$almacenNorte 1;

        
$s "
            SELECT
            t_productos.id_producto,
            t_productos.codigob,
            t_productos.descripcion_anterior,
            t_existencia_mty.id_producto,
            t_existencia_mty.cantidad AS existencia_mty,
            t_existencia_bodega.cantidad AS existencia_bodega,
            t_existencia_norte.cantidad AS existencia_norte,
            t_existencia_almacen.cantidad AS existencia_almacen,
            t_existencia_almacen.maximo AS maximo_almacen,
            t_existencia_almacen.minimo AS minimo_almacen
            FROM
            productos t_productos,
            existencias t_existencia_mty,
            existencias t_existencia_bodega,
            existencias t_existencia_norte,
            existencias t_existencia_almacen
            WHERE t_existencia_mty.id_producto = t_productos.id_producto
            AND t_existencia_mty.id_almacen = '$almacenMty'
            AND t_existencia_bodega.id_producto = t_existencia_mty.id_producto
            AND t_existencia_bodega.id_almacen = '$almacenBodega'
            AND t_existencia_norte.id_producto = t_existencia_mty.id_producto
            AND t_existencia_norte.id_almacen = '$almacenNorte'
            AND t_existencia_almacen.id_producto = t_existencia_mty.id_producto
            AND t_existencia_almacen.id_almacen = '$id_almacen'
            LIMIT 0,30
        "


gracias !!!