三张表各个关联的语句如何写?

人生无回头路 2006-06-27 05:59:34
表A为分类表,里面有TeamName,PkID.
表B为表A的成员表,TeamID,Data,PkID.
表C为表的评价,TableName(所要评价的表名),PkID,BelongID(所属表中的ID),Content(评价内容).
这些是主要内容了,现在要查询以下内容:
分类表A的TeamName,所属表A的成员表B的数目,评价表A和表B的评价数(有对分类进行评价,也有对成员的评价).
这样的东东如何写?
...全文
309 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2006-06-28
  • 打赏
  • 举报
回复
看错了,因为评价表中多了冗佘字段PkID,但补充了信息,从而简化了语句写法
fcuandy 2006-06-28
  • 打赏
  • 举报
回复
这不是跟这个要求一样吗?

http://community.csdn.net/Expert/topic/4847/4847715.xml?temp=.9278376

只不过一个是用分类与条目,一个是用总公司与子公司。换个说法而已
47522341 2006-06-28
  • 打赏
  • 举报
回复
Select
T.TeamName,
Count(TeamID) As CountB,
(Select Count(*) From C Where TableName='A' And BelongID=T.PkID)
+(Select Count(*) From C Where TableName='B' And BelongID=(Select PkID From B Where TeamID=T.PkID))
From A T
Left Join B
On T.PkID=B.TeamID
Group By T.TeamName
xp_cmdshell 2006-06-28
  • 打赏
  • 举报
回复
高人就是高人,看了题目就能回答出来,我连题目啥意思都没搞动..........找地逢中........
paoluo 2006-06-27
  • 打赏
  • 举报
回复
try

Select
T.TeamName,
Count(TeamID) As CountB,
(Select Count(*) From C Where TableName='A' And BelongID=T.PkID)
+(Select Count(*) From C Where TableName='B' And BelongID=(Select PkID From B Where TeamID=T.PkID))
From A T
Left Join B
On T.PkID=B.TeamID
Group By T.TeamName

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧