Примечание: я еще не проверял это.
Я изменил запросы, основываясь на нашем недавнем взаимодействии.
Это ваш оригинальный
SELECT first_name, last_name, building_name, room.room_id,meeting.meeting_id, meeting_start, meeting_end
FROM meeting, person, person_meeting,room, building
WHERE room.room_id=meeting.room_id
AND meeting.meeting_id=person_meeting.meeting_id
AND person.person_id=person_meeting.person_id
AND room.building_id=building.building_id
AND building_name='Main Street Building';
Вот как я бы попытался его построить
На основе предоставленных вами страниц 2 и 3 в документе https://snhu.brightspace.com/d2l/lor/viewer/viewFile.d2lfile/76437/9523,2/, Я бы сделал следующее:
Сначала я бы получил информацию о здании.
SELECT building_id
FROM building
WHERE building_name like '%Main Street Building%';
Примечание: я предполагаю, что название здания является правильным.Однако на всякий случай я использую подстановочный знак% до и после имени
Далее я получу информацию о комнате:
SELECT b.building_name, r.room_id
FROM room r
LEFT JOIN building b
ON r.building_id = b.building_id
WHERE b.building_name like '%Main Street Building%';
После этого яполучит информацию о собрании:
SELECT b.building_name, r.room_id, m.meeting_id, m.meeting_start, m.meeting_end
FROM room r
LEFT JOIN building b
ON r.building_id = b.building_id
LEFT JOIN meeting m
ON r.room_id = m.room_id
WHERE b.building_name like '%Main Street Building%';
Наконец, я получу информацию об идентификаторах людей, которые будут присутствовать на этом собрании, и покажу их имена:
SELECT b.building_name, r.room_id, m.meeting_id, m.meeting_start, m.meeting_end, p.first_name, p.last_name
FROM room r
LEFT JOIN building b
ON r.building_id = b.building_id
LEFT JOIN meeting m
ON r.room_id = m.room_id
LEFT JOIN persom_meeting pm
ON m.meeting_id = pm.meeting_id
LEFT JOIN person p
ON pm.person_id = p.person_id
WHERE b.building_name like '%Main Street Building%';
ЕслиВ любом случае, эти запросы не работают, я бы посоветовал вам убедиться, что между таблицами существуют отношения.
Это означает, что должно быть совпадение building_id, совпадение room_id, совпадение meeting_id и person_idсовпадение между таблицами.Кроме того, я бы проверил, что имя здания написано правильно, поскольку оно чувствительно к регистру.
Причина, по которой я использую LEFT JOINs, заключается в том, что я могу отображать всю информацию предыдущих таблиц (все строки) плюс записив котором идентификаторы соответствуют идентификаторам внешних ключей.Как объяснено здесь: http://www.acarlstein.com/?p=4168

Кроме того, в http://www.acarlstein.com/?p=4194, я показываю, как будут работать два левых (внешних) объединения.

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