Problema con una consulta de unión interna (INNER JOIN)

ana
01 de Octubre del 2004
Tengo que hacer una consulta en la cual me muevo por tres tablas, uso la cláusula INNER JOIN pero me da errores. Tengo tres datos que me pasan por parámetro: localidad, categoria, habitacion
Los datos localidad y categoria los tengo en la tabla HOTELES, pero el dato habitacion está en una tercera tabla. Las tres estás relacionadas entre sí.
La consulta que hago es la siguiente:

String query = "SELECT Nombre, Icono FROM Hoteles INNER JOIN (Habitaciones INNER JOIN (TiposHabitacion)) WHERE (Hoteles.Localidad='"+localidad+"' AND Hoteles.Categoria='"+categoria+"' AND TiposHabitacion.Nombre='"+habitacion+"') ORDER BY Nombre";

¿Qué es lo que hago mal?
Gracias

Khriztian
01 de Octubre del 2004
Muestranos las 3 tablas que utilizas, con sus respectivos campos, y te podremos ayudar .........

Isa? Islas
01 de Octubre del 2004
Creo que la sintaxis del INNER JOIN, le falta la referencia de que campos van "ligados" con un ON.

williblues
01 de Octubre del 2004
Proba de esta forma. Suponiendo que el campo Nombre esta en todas las tablas que haces el Join.

SELECT Nombre, Icono
FROM Hoteles
INNER JOIN Habitaciones
INNER JOIN TiposHabitacion
ON Hoteles.Nombre = Habitaciones.Nombre
ON Habitaciones.Nombre = TiposHabitacion.Nombre
WHERE Hoteles.Localidad= 'localidad' AND
Hoteles.Categoria= 'categoria' AND
TiposHabitacion.Nombre= 'habitacion'
ORDER BY Nombre