Sql server 2005 SQL将计数联接到查询

Sql server 2005 SQL将计数联接到查询,sql-server-2005,join,count,group-by,distinct,Sql Server 2005,Join,Count,Group By,Distinct,我已经创建了一个我的电影数据库,并在每部电影中创建了一个我的演员数据库 栏目包括: 身份证件 演员 ImdbActorID ImdbMovieID 性格 例如: 47105 |霍华德·麦基林| nm0569294 | tt0111333 |成年王子德里克 47106 |米歇尔·尼卡斯特罗| nm0629264 | tt0111333 |成年公主奥黛特 47108 | John Cleese | nm0000092 | tt0111333 | Jean Bob 当my webapp查询特定电影时:

我已经创建了一个我的电影数据库,并在每部电影中创建了一个我的演员数据库

栏目包括:

身份证件 演员 ImdbActorID ImdbMovieID 性格 例如:

47105 |霍华德·麦基林| nm0569294 | tt0111333 |成年王子德里克 47106 |米歇尔·尼卡斯特罗| nm0629264 | tt0111333 |成年公主奥黛特 47108 | John Cleese | nm0000092 | tt0111333 | Jean Bob

当my webapp查询特定电影时: 从ImdbMovieID='tt0111333'所在的参与者中选择*

我知道了。我的问题是,我想添加一个列,列出每个演员的全部电影。因此,我不必在编程上为每个参与者运行查询


我想把同一张桌子和伯爵连在一起???但我不知道这是否有效。让我难堪的是有了where子句。

谢谢大家斯图尔特和亚伦

从Actors中选择ImdbActorID、Character、Actor、ImdbMovieID、cnt

加入选择ImdbActorID作为Act2,计数*作为cnt 通过ImdbActorID作为x从Actors组发送到Actors.ImdbActorID=x.Act2 其中ImdbMovieID='tt0111333'


order by cnt desc

该查询实际上没有意义。您在Actors中有一个名为ImdbMovieID的专栏?如果一个演员演过两部电影,那专栏里有什么?这是一个关系表,每个演员/电影组合都列在一起吗?如果是这样的话,这不是一个非常直观的表格名称;表名为ActorS,而不是Actor,这就是为什么会出现该错误。然而,正如@AaronBertrand所指出的,它的名字并不直观:很抱歉,我的桌子上有一张照片,但我的代表人数太少,所以我无法发布。我尝试了一个查询:我尝试了这个查询,认为我会更接近一点:选择ImdbActorID,cnt from Actors加入选择ImdbActorID作为Act2,ImdbActorID=x.Act2,其中ImdbMovieID='tt0111333'和我得到错误:无法绑定多部分标识符Actor.ImdbActorID。谢谢大家Stuart和Aaron。选择ImdbActorID、Character、Actor、ImdbMovieID、Actors中的cnt加入选择ImdbActorID作为Act2,按Actors上的ImdbActorID作为x从Actors组中计算*作为cnt。ImdbActorID=x.Act2,其中ImdbMovieID='tt0111333'按cnt desc排序