Como Hacer consultas de 4 tablas(Solucionado)

Iniciado por mr_marley, 12 Julio 2010, 17:40 PM

0 Miembros y 1 Visitante están viendo este tema.

N3r0

proba con esta consulta ahora

Código (SQL) [Seleccionar]

SELECT * FROM clientes c
INNER JOIN reparacion r
ON(c.id_cliente=r.id_cliente)
INNER JOIN fac_deta fd
ON(r.id_reparacion=fd.id_reparacion)
INNER JOIN fac_enc fe
ON(fd.id_fac=fe.id_fac)
WHERE fe.fecha=10/10/2010;


xexio

pasame la base de datos o subela a MU y pon aquí el enlace a ver si importándola con Kexi puedo hacer algo...


mr_marley

Cita de: xexio en 18 Julio 2010, 00:38 AM
pasame la base de datos o subela a MU y pon aquí el enlace a ver si importándola con Kexi puedo hacer algo...

http://www.megaupload.com/?d=H4Q8WHIV BD Elctronica
Cuántas muertes más serán necesarias para darnos cuenta de que ya han sido demasiadas  By: Marley87

mr_marley

Cita de: Devil_Nero en 16 Julio 2010, 02:24 AM
proba con esta consulta ahora

Código (SQL) [Seleccionar]

SELECT * FROM clientes c
INNER JOIN reparacion r
ON(c.id_cliente=r.id_cliente)
INNER JOIN fac_deta fd
ON(r.id_reparacion=fd.id_reparacion)
INNER JOIN fac_enc fe
ON(fd.id_fac=fe.id_fac)
WHERE fe.fecha=10/10/2010;



Esta Consulta si Funciona  Pero En Mysql, En Acces  Marca El siguiente Error:
Error de sintaxis (falta operador) en la expresión de consulta '(c.id_cliente=r.id_cliente) INNER JOIN fac_deta fd ON (r.id_reparacion=fd.id_reparacion) INNER JOIN fac_enc fe ON (fd.id_fac=fe.id_fac )
Cuántas muertes más serán necesarias para darnos cuenta de que ya han sido demasiadas  By: Marley87

xexio

#14
ya me la estoy bajando, la próxima  vez intenta no colgar un .rar
cuelga un .zip, .tar.gz o algo así  ;D


EDITO: lo acabo de importar ahora a .kexi, ahora ya es tarde pero mañana lo haré y te diré como lo he hecho


mr_marley

Bueno gente quiero decirles que ya pude hacer mi consulta de las 4 tablas tal como queria.. Y funciona muy bien..
quiero agradecer en especial a Devil_Nero , xexio
por su gran afan de ayudar y sus consejos...
aqui les dejo el codigo me a costado un buen lograrlo per funciono  xD..

SELECT Fac_Enc.*, Clientes.*, reparacion.*, Fac_deta.*, Fac_Enc.Fecha
FROM (Fac_deta INNER JOIN (Clientes INNER JOIN Fac_Enc ON Clientes.id_Cliente = Fac_Enc.id_Cliente) ON Fac_deta.id_fac = Fac_Enc.id_fac) INNER JOIN reparacion ON (Fac_deta.id_reparacion = reparacion.id_reparacion) AND (Clientes.id_Cliente = reparacion.id_Cliente)
WHERE (((Fac_Enc.Fecha)=#7/15/2010#));

Este codigo Funciona en Acees..

Este otro codigo que me lo paso Devil_Nero

SELECT * FROM clientes c
INNER JOIN reparacion r
ON(c.id_cliente=r.id_cliente)
INNER JOIN fac_deta fd
ON(r.id_reparacion=fd.id_reparacion)
INNER JOIN fac_enc fe
ON(fd.id_fac=fe.id_fac)
WHERE fe.fecha=10/10/2010;

Funciona Perfecto tambien pero no funciona en Acces... lo probe en MySql y todo bien
Gracias!!!
Cuántas muertes más serán necesarias para darnos cuenta de que ya han sido demasiadas  By: Marley87

xexio

bueno, pues nada, si tienes otra duda no dudes en preguntar  :D


N3r0

De nada, y  cualquier otra duda q tengas con gusto intentare ayudar

Saludos.