Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Inner join 5 tablas (https://www.clubdelphi.com/foros/showthread.php?t=77270)

camibola 09-01-2012 18:48:40

Inner join 5 tablas
 
Estoy estoy super oxidada con MySql, a ver si pueden ayudarme, creo que necesito usar Inner Join.
Necesito hacer un select * de obras según la region que se elija, pero es complicado, cada obra tiene un barrio_id (porque pertenece a
un barrio), cada barrio tiene una comuna_id, cada comuna tiene un
provincia_id, y cada provincia tiene un region_id que es lo que
finalmente selecciona el usuario.
Supongo se necesita algo como asi:
SELECT *
FROM `obra`
INNER JOIN
(`comuna INNER JOIN `barrio ON `comuna.id = `barrio.comuna_id)
INNER JOIN
(`provincia INNER JOIN `comuna ON `provincia.id = `comuna.provincia_id)
INNER JOIN
(`region INNER JOIN `provincia ON `region.id = `provincia.region_id)
ON obra.barrio_id=barrio.id
pero no se dónde poner la region_id que yo quiero seleccionar....

camibola 09-01-2012 18:57:12

Esto es lo que intento hacer :
SELECT *
FROM `obra`
INNER JOIN
(`provincia` INNER JOIN `region` ON `provincia.region_id` = `region.id` = 1)
INNER JOIN
(`comuna` INNER JOIN `provincia` ON `comuna.provincia_id` = `provincia.id`)
INNER JOIN
(`barrio` INNER JOIN `comuna` ON `barrio.comuna_id` = `comuna.id`)

y obtengo error #1066 - Not unique table/alias: 'provincia'

Casimiro Notevi 09-01-2012 20:12:41

Para ambos, que veo que sois novatos por aquí ;)

Recordad esto:



.

oscarac 09-01-2012 20:47:55

creo que tienes que hacer asi

Código SQL [-]
 
SELECT * 
FROM obra
INNER JOIN Provincia ON obra.Campo = Provincia.Campo
INNER JOIN region ON provincia.region_id = region.id = 1
INNER JOIN comuna  ONcomuna.provincia_id = provincia.id


La franja horaria es GMT +2. Ahora son las 11:33:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi