Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2011, 15:28
Avatar de ffaffy
ffaffy
 
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Gran consulta sql

Hola a todos

Agradezco de antemano a quien me pueda brindar una mano....tratare de ser lo mas acertivo posible para no alargar el post...y enconntrar ayuda pronto.

Tengo una BD con 4 tablas en su orden: productos, marcas, bodegas, existencias.

debo hacer una consulta que me genere un listado con la referencia, nombre, marca y existencias por cada producto.

Estoy trabajando php + interbase pero las consultas sql son iguales q con Mysql. Realize la consulta de esta manera pero no funciona.

Antes aclaro q por cada producto hay existencias en las diferentes bodegas dadas, la idea es que se genere un fila por referencia con su nombre y marca, seguido de las existencias en cada bodega.

Creo tener errores en el select interno, si lo quito se genera el listado pero solo de referencia, nombre, marca y existencias globales x bodega, es decir que se repita cada referencia las veces necesarias si posee existencias.

"SELECT DISTINCT
P.cod,
P.subcod,
P.refer AS referencia,
P.nom AS articulo,
P.cod_marca,
M.cod_marca,
M.nom AS marca,
E.cod_articulo,
E.subcod_articulo,
E.cod_bodega,
(SELECT
E.entradas1 - E.salidas1 + E.entradas2 - salidas2
+ E.entradas3 - E.salidas3 + E.entradas4 - salidas4
+ E.entradas5 - E.salidas5 + E.entradas6 - E.salidas6
+ E.entradas7 - E.salidas7 + E.entradas8 - E.salidas8
+ E.entradas9 - E.salidas9 +E.entradas10 - E.salidas10
+ E.entradas11 - E.salidas11 + E.saldo
FROM
existencias E
INNER JOIN B.cod = B.cod_articulo
WHERE P.cod = E.cod_articulo) AS bodega1,
B.cod
FROM
productos P,
marcas M,
existencias E,
bodegas B
WHERE
P.cod_marca = M.cod AND P.cod = E.cod_articulo
AND P.subcod = E.subcod
ORDER BY
P.cod"

La verdad ya llevo 2 semanas tratando de solucionar esto, se que me debo ayudar de INNER JOIN, pero no se q me esta quedando mal.

Agradezco cualquier ayuda, se q la BD tiene demasiados campos y registros pero es una BD ya dada y con info. de muchos años, no tengo opcion de modificarla en bruto solo en codigo.

Muchas Gracias