帮帮我,简单的多表查询

huangjing81 2005-08-29 10:18:05
A表:

id 名字
0001 张三
0002 李四
……

B表

id 科目
0001 语文
0001 数学
0001 自然
0002 语文
0002   自然

……


现要得到姓名和科目总数


姓名 科目数
张三 3
李四 2

请问该SQL语句该怎么写,谢谢了

...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangjing81 2005-08-29
  • 打赏
  • 举报
回复
谢谢
vivianfdlpw 2005-08-29
  • 打赏
  • 举报
回复
select [姓名]=A.[名字],
[科目数]=isnull(T.num,0)
from A
left join
(
select id,[num]=count(1)
from B
group by id
)T on A.id=T.id
huangjing81 2005-08-29
  • 打赏
  • 举报
回复
select A.姓名,count(A.科目) from A,B where A.id=B.id
提示 列 'A.姓名' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。

34,576

社区成员

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

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