Я работаю над проектом, где мне нужно объединить записи из двух разных таблиц и отобразить их на экране на основе параметров. Моя первая таблица содержит записи временных интервалов. Вот пример моего SLOT_TABLE:Как присоединиться к двум таблицам и получить правильные записи?
ID Event_ID Time_Slots
1 150 7:00 AM - 7:15 AM
2 150 7:15 AM - 7:30 AM
3 150 7:30 AM - 7:45 AM
4 150 7:45 AM - 8:00 AM
5 150 8:00 AM - 8:15 AM
6 150 8:15 AM - 8:30 AM
В моей второй таблице содержатся записи для каждого пользователя. Вот пример моего REGISTRATION_TABLE:
ID Event_ID Supervisor_ID Slot_ID User_ID Staff_ID
61 150 200 6 15 133
78 150 200 6 162 79
У меня есть проблема, чтобы отобразить все мои временные интервалы, но с записями из второй таблицы только для конкретного пользователя. Вот пример того, как я хотел бы мои записи будут отображаться:
ID Event_ID Time_Slots User_ID
1 150 7:00 AM - 7:15 AM
2 150 7:15 AM - 7:30 AM
3 150 7:30 AM - 7:45 AM
4 150 7:45 AM - 8:00 AM
5 150 8:00 AM - 8:15 AM
6 150 8:15 AM - 8:30 AM 162
Как вы можете видеть, что я хотел бы, чтобы отобразить мои временные интервалы и отображения записи только для моего пользователя с идентификатором 162, но не пользователь ид 15 в то же время. Я пытаюсь использовать этот запрос, чтобы получить, что:
Select s.Time_Slots, r.User_ID
From SLOT_TABLE s
Left Outer Join REGISTRATION_TABLE r
On s.ID = r.SLOT_ID
Where s.EVENT_ID = '150'
Но выше запрос дал мне это:
ID Event_ID Time_Slots User_ID
1 150 7:00 AM - 7:15 AM
2 150 7:15 AM - 7:30 AM
3 150 7:30 AM - 7:45 AM
4 150 7:45 AM - 8:00 AM
5 150 8:00 AM - 8:15 AM
6 150 8:00 AM - 8:15 AM 162
6 150 8:00 AM - 8:15 AM 15
Так после этого я попытался ограничить мой запрос на user_id, и я получил это:
Select s.Time_Slots, r.User_ID
From SLOT_TABLE s
Left Outer Join REGISTRATION_TABLE r
On s.ID = r.SLOT_ID
Where s.EVENT_ID = '150'
And User_ID = '162'
ID Event_ID Time_Slots User_ID
6 150 8:00 AM - 8:15 AM 162
Итак, мой вопрос в том, как я могу получить все временные интервалы, но в то же время ограничить свой запрос на User_ID, который я хочу? Возможно ли что-то подобное в sql? Если кто-нибудь может помочь с этой проблемой, пожалуйста, дайте мне знать. Заранее спасибо.
вы получаете какие-то странные результаты обратно на основе запросов, которые вы используете – JamieD77
текстовый формат вопрос откусил (выходы запроса). Вряд ли вы получите такие значения, как «User_ID (162)» и «7:00 AM - 7:15 AM» в том же столбце при запуске select. Не могли бы вы исправить это? – cantSleepNow
Почему вы показываете 'user (162)', но не 'user (15)'? Какова логика? –