SELECT a.AuditoriumName,
COUNT(d.StudentID) as Total_Visits
from Auditorium a
INNER JOIN AudiReservation c ON b.AudiID=c.AudiID
INNER JOIN OrderHistory d on c.OrderID=d.OrderID
GROUP BY d.StudentID;
Auditorium - AudiID(pk), AudiName
AudiReservation - ReservationID(pk),AudiID(fk),OrderID(fk)
OrderHistory - OrderID(pk),StudentID(fk)
Student - StudentID(pk)
的問題是,它沒有唯一確定的學生。我相信這個主要問題是因爲AudiReservation與OrderHistory有多對一的關係。所以,當輸出到達時,我會得到重複的VenueNames和VenueID。我嘗試將AudiReservation的OrderID分組,以便僅與OrderHistory匹配唯一的值。但這似乎並不奏效。有人可以幫忙嗎?
輸入 -
學生 -
StudentID Student_Name
1 Matt
2 Victor
訂單歷史記錄 -
OrderID StudentID
101 1
102 1
103 1
104 2
104 2
AudiReservation -
Reservation OrderID AudiID
001 101 AUDI01
002 102 AUDI01
003 103 AUDI01
003 104 AUDI02
004 101 AUDI02
005 102 AUDI02
禮堂
AUDI01 Audi1-Tower of London
AUDI02 Audi2-London Bridge
預期輸出 -
Auditorium Name Total Students Visit
AUDI01 Tower of London 2
AUDI02 London Bridge 2
共有學生參觀了這裏是誰訪問了觀衆席獨特的學生總數。
計數描述一個,而不是一個長期的說明表的模式之一。使其更易讀 – arunmoezhi
請立即檢查。 – MrCoder
謝謝。我想你錯過了學生表。同時給出你的要求的描述,以便這裏的人可以嘗試找出你的查詢有什麼問題 – arunmoezhi