SQL - Consulta a varias Tablas

 
Vista:

Consulta a varias Tablas

Publicado por Ikarus (2 intervenciones) el 20/10/2008 18:24:13
Buenos dias espero me puedan ayudar, he buscado informacion en la red pero aun no encuentro una respuesta, este es mi problema:

Necesito hacer un consulta a una tabla CLIENTE(nom_cliente, fec_ini, id_empresa) que tome el campo "nombre_empresa" de otras tablas(EMP_LOCAL, EMP_REGIO, EMP_INTER) que no estan directamente relacionadas sino atravez del "id_empresa" por ejemplo:

nom_cliente fec_ini id_empresa

Jose Galvez 22/10/2008 12 (12="SAPRISA S.A." en la tabla EMP_LOCAL)
Martin Adan 11/09/2000 13 (13="IKEA SAG" en la tabla EMP_INTER)
Timo Glock 14/01/1970 14 (14="TELMEX S.A." en la tabla EMP_REG)
Juan Levi 12/05/1980 15 (15="ACETOL S.A." en tabla EMP_LOCAL)

Como ven no hay relacion directa entre id_empresa y el id_empresa de las otras tablas, necesito hacer una consulta donde me aparezca el nombre de la empresa en vez del id_empresa: ( "nom_cliente", "fec_ini", nombre_empresa") imagino que tendria que ser una consulta selectiva donde si no encuentra el codigo en una tabla la busque en otra, pero no se como hacerlo, por cierto la version de la bbdd es SQL Anywhere 5. Les estare infinitamente agradecido por sus respuestas o ideas que me puedan dar, muchas gracias. :)

Saludos!

Ikarus
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta a varias Tablas

Publicado por pacopaz (143 intervenciones) el 20/10/2008 19:41:24
Para empezar a resolver el problema:
Como sabes de que tabla es el id de cada una de las empresas?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta a varias Tablas

Publicado por Ikarus (2 intervenciones) el 20/10/2008 23:48:28
La base de datos ya esta hecha, si yo miro el id de la empresa en la tabla de clientes y la busco en cualquier otra de las 3 tablas de empresa la encontrare en alguna de ellas porque no se duplican (es decir no hay un id "12" en EMP_LOCAL y EMP_REGIO y EMP_INTER, sino que o el "12" esta en una o en otra tabla empresa pero no se duplican, entonces se que el 12 si lo encuentro en EMP_LOCAL es porque es de alli, no lo encontrare ni en EMP_REGIO o en EMP_INTER, lo que necesito es como hacer una consulta para que me de el contenido de la tabla CLIENTE y que en vez de aparecer el id de la empresa me aparesca el nombre que esta en cualquiera de las otras 3 tablas empresas. Gracias por tu comentario, espero me puedas ayudar.

Saludos

Ikarus
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta a varias Tablas

Publicado por Arturo Pardo (3 intervenciones) el 05/11/2008 20:21:51
prueba esto...

select * from
clientes left outer join

(

select tabla1.id , tabla1.empresa from tabla1

union all
select tabla2.id , tabla2.empresa from tabla2
union all
select tabla3.id , tabla3.empresa from tabla3

) as empresas

on clientesid_empresa = empresas.id
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar