select maintitle,
firstprodyear,
COUNT(DISTINCT episode.episodeid) as TOTALEPISODES
from series
LEFT OUTER JOIN episode ON series.seriesid = episode.seriesid
LEFT OUTER JOIN filmitem ON filmitem.filmid = episode.episodeid
where firstprodyear =(select MIN(firstprodyear) from series)
group by maintitle, firstprodyear;
查询的2/3有效。我确实得到了系列和最早年份的称号。但似乎情节计数器没有正常工作。对于某些情节,我会得到15,34和某个地方0。 我会提前做一些指导,让episodecounter正常工作。我在哪里错过了?
答案 0 :(得分:1)
尝试:
select maintitle,
min(firstprodyear) firstprodyear,
COUNT(DISTINCT episode.episodeid) as TOTALEPISODES
from series
LEFT OUTER JOIN episode ON series.seriesid = episode.seriesid
/*LEFT OUTER JOIN filmitem ON filmitem.filmid = episode.episodeid */
group by maintitle;
注意:所选数据似乎不需要指向filmitem的链接。
答案 1 :(得分:0)
您的查询返回的数据系列firstprodyear
等于数据库中最早的firstprodyear
。您可以将子选择语句视为返回固定数字,然后在查询中使用该数字。
例如,如果数据库中最早的系列是“我们的生命日”(firstprodyear = 1965
),那么您将获得同样在1965年开始的系列中的剧集数量。
您可能还希望更明确地了解哪个表实际包含firstprodyear
字段,但我假设它是series
。