我正在處理項目,我必須合併來自兩個不同表格的記錄,並根據參數在屏幕上顯示它們。我的第一個表格包含時間段記錄。這裏是我的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的ID,以顯示我的時隙和顯示記錄只爲我的用戶,而不是ID的用戶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
查詢的問題的文本格式是有點過(查詢輸出)。當您運行select時,很難在同一列中獲得像'User_ID(162)'和'7:00 AM - 7:15 AM'這樣的值。你能解決這個問題嗎? – cantSleepNow
爲什麼你顯示'user(162)'而不是'user(15)'?什麼是邏輯? –