Выберите записи, даже если не существует - PullRequest
0 голосов
/ 04 июня 2018

У меня есть база данных с 4 таблицами:

  1. Первая таблица представляет комнаты и имеет один столбец с именем "RoomNumber".
  2. Вторая таблица имеет значение Hours и содержит один столбец "HourNumber".
  3. Третья таблица - «Дни», содержит два столбца «DayNumber» и «DayName».
  4. Последняя таблица - «TimeTables комнат», и это таблица отношений между тремя другими таблицами.

В последней таблице есть следующие столбцы:

  • RoomNumber
  • DayNumber
  • HourNumber
  • Тема (что происходит в определенный часи день)

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

Я хочу как-нибудь написать запрос, который даст мне статус всех комнат в определенный день и час.

Например, этот запрос ретуВсе занятые комнаты в день 1, час 1:

SELECT *
FROM TimeTables
WHERE HourNumber = 1 AND DayNumber = 1

Но я хочу получить статус всех комнат в определенное время, я знаю, что остальные записи не существуют.

Есть ли способ сделать что-то подобное?

1 Ответ

0 голосов
/ 05 июня 2018

Если вам нужен статус комнат в MS Access, я думаю, что коррелированный подзапрос - самый простой метод:

select r.*,
       (select tt.subject
        from TimeTables as tt
        where tt.RoomNumber = r.RoomNumber and tt.HourNumber = 1 and tt.DayNumber = 1
       ) as subject_1_1
from rooms as r;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...