SERIES:
title
total_seasons
SEASONS:
title
season
avgduration
episodes
PRIMARY KEY (title, season),
FOREIGN KEY (title) REFERENCES SERIES
LIC_SERIES:
id_client
datetime
title
season
episode
PRIMARY KEY (client,title,season,episode)
FOREIGN KEY (title,season) REFERENCES seasons
系列例子是這樣的:
Title Total_Seasons
House 8
Lost 6
四季如
表 「誰購買了全套系列許可證的客戶」看起來像這樣:
Title Season AvgDuration Episodes
House 1 44 22
Mad Men 3 47 13
Lic_Series例子是這樣的:
Client Datetime Title Season Episode
92/657/T 01/01/2017 House 8 18
我試過嗎?
WITH PART AS (SELECT DISTINCT EPISODES, TITLE
FROM SEASONS INNER JOIN SERIES
ON Seasons.Title = Series.Title
GROUP BY Seasons.Title)
SELECT CLIENT
FROM LIC_SERIES INNER JOIN PART
ON LIC_SERIES.TITLE = PART.TITLE
ORDER BY title DESC;
我不知道如何檢查,如果一個客戶有所有每個賽季
GROUP BY無效。一般的GROUP BY規則說:如果指定了GROUP BY子句,SELECT列表中的每個列引用必須標識一個分組列或者是一個set函數的參數。 – jarlh
爲什麼GROUP BY在不涉及集合函數時?而SELECT DISTINCT與GROUP BY結合在一起也很少有用 - 只適用於有經驗的用戶! – jarlh
添加更多樣本表數據,以及其預期結果。 – jarlh