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

Gran consulta sql

Estas en el tema de Gran consulta sql en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/08/2011, 15:28
Avatar de ffaffy  
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 7 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
  #2 (permalink)  
Antiguo 01/09/2011, 07:33
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Gran consulta sql

Es una consulta un tanto compleja, cierto. No entiendo los joins del final. Y no veo restriccion para con B.

En cuanto a duplicados, intentaste hacer un GROUP BY?

Etiquetas: interbase, sql, subconsulta
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 05:22.