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

Consulta SQL con 3 o más JOINS

Estas en el tema de Consulta SQL con 3 o más JOINS en el foro de Bases de Datos General en Foros del Web. Estoy tratando de realizar una consulta complicada (o no tanto. Se involucra en principio a 4 tablas relacionadas encadenadamente). Os cuento: Hay una tabla de ...
  #1 (permalink)  
Antiguo 09/02/2006, 13:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
Consulta SQL con 3 o más JOINS

Estoy tratando de realizar una consulta complicada (o no tanto. Se involucra en principio a 4 tablas relacionadas encadenadamente). Os cuento:

Hay una tabla de clientes, que están relacionados con elementos de la tabla Lugar1 (en esta tabla se indica en cada registro la id del cliente).

A su vez, en cada Lugar1 (que puede ser un polígono industrial, o lo que sea), hay varios elementos de la tabla Lugar2 (por ejemplo, plantas industriales), dándose que en Lugar2 hay un campo para indicar la id de Lugar1.

Y por último, hay tres tablas, llamadas máquina1, máquina2 y máquina3 (guardan máquinas de ese tipo junto con sus características), que como habréis supuesto, cuelgan de Lugar2, teniendo un campo para señalar a dicha tabla. Y en principio, conque pudiese sólo con una tabla (máquina1, por ejemplo), me valdría.

¿Cómo puedo en una sola sentencia, obtener qué máquinas tiene un cliente en concreto? Además, en el resultado final, debería obtener en un campo si es posible el título de la tabla (Por ejemplo, máquina1).
  #2 (permalink)  
Antiguo 09/02/2006, 14:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
He intentado una sentencia de momento, pero no me ha salido, usando varios INNER JOIN's. ¿Alguien sabría cómo hacerlo?

Esto es lo que he hecho de momento (que no es sino el comienzo de lo que sería una sentencia parcial, pero si algo tan sencillo no me sale mucho menos podré ocuparme del resultado global):

select Lugar1.nombre as Lugar1,Lugar2.nombre as Lugar2,Maquina1.numero_serie as 'Marca de Maquina1', FROM Lugar1 INNER JOIN Clientes ON Lugar1.idcliente=100 AND Lugar1.idcliente=Clientes.id INNER JOIN Lugar2 on Lugar2.id_lugar1=157 INNER JOIN Maquina1 ON Maquina1.id_lugar2=Lugar2.id
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 23:15.