2011-06-15 3 views
0

У меня есть три таблицы в базе данных.Выбор отдельных строк с помощью соединения

Hostel

hostel_id int, 
hosteltype_id int, 
hostelname varchar(100) 
address varchar(800) 

hosteltypes

hosteltype_id int, 
Hosteltypename varchar(100) 

HostelRooms

room_id int, 
hostel_id int, 
Room_no int, 
available_beds int 
reserver int 

данные в Hostel

1 1 hostel1 address1 
2 1 hostel2 address2 
3 2 hostel3 address3 
4 2 hostel4 address4 

в hosteltype

1 boyshostel 
2 ladieshostel 

в hostelroom

1 1 101 4 4 
2 1 102 4 2 
3 1 103 4 4 
4 2 100 4 4 
5 2 101 4 1 
6 3 101 4 4 

можно выбрать строки с помощью команды.

select Hostel.hostel_id, Hostel.hostelname, Hostel.address, hosteltypes.Hosteltypename, 
from Hostel,hosteltypes 
where Hostel.hosteltype_id=hosteltypes.hosteltype_id 
and hostel_id = (
       select distinct hostelrooms.hostel_id 
       from hostelrooms 
       where hostelrooms.hostel_id=Hostel.hostel_id and   hostelrooms.hostelrooms>hostelrooms.reserver 
    ) 

i want data similar like 
1 hostel1 address1 boyshostel 
2 hostel2 address2 boyshostel 

как можно создать команду SQL, подобную гнушается присоединиться заявление, которое возвращает конкретный hostelid, hostelname, hosteltype где зал.

+0

Вы пытаетесь получить конкретный общежитие, это тип, и это комнаты? LEFT или INNER, соединяющие эти таблицы, легко, но чего именно вы пытаетесь достичь? – slugster

+0

yes.i Я пытаюсь получить конкретный тип общежития. –

ответ

0

Вам не хватает предложение from в вашем SQL. Оно должно быть как:

SELECT Hostel.hostel_id, Hostel.hostelname, Hostel.address, hosteltypes.Hosteltypename 
FROM Hostel 
JOIN hosteltypes ON (hosteltypes.hosteltype_id = Hostel.hosteltype_id) 
JOIN hostelrooms ON (hostelrooms.hostel_id = Hostelhostel_id) 
0

Предполагая, что вы пытаетесь получить четкий список общежитий с записями в таблице Hostelrooms, то это должно работать ..

select distinct (Hostel.hostel_id, Hostel.hostelname, Hostel.address,)hosteltypes.Hosteltypename, 
from Hostel,hosteltypes,hostelrooms 
where Hostel.hosteltype_id=hosteltypes.hosteltype_id 
and hostel_id = hostelrooms.hostel_id 
Смежные вопросы