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