求一sql语句 (对不同分类的记录进行求和统计)

bxbacn 2009-04-20 10:43:17
有二表,一个为类目表,一个为数据表,如
tableA
sid sname
1 数学
2 语文
..... 类目可能还有英语等并非固定为二个

tableB
id sid fen(分数)
10 1 95
11 1 98
12 2 100
13 1 87
14 2 99

如何用一条sql查询得出数学和语文等各自的总成绩呢

--只为了方便代码写作,而且该命令不会经常执行,所以对语句的复杂程度不考虑
...全文
247 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sayluyun 2009-04-20
  • 打赏
  • 举报
回复
来迟了···
zzxap 2009-04-20
  • 打赏
  • 举报
回复
[code=SQL]
select a.sumfen AS 总分数,aa.sname from
( select sid ,sum(fen) as sumfen from tableb group by sid) a
left join tableA aa on a.sid=aa.sid

[/CODE]
bxbacn 2009-04-20
  • 打赏
  • 举报
回复
SELECT tableA.sname, B.Total
FROM tableA INNER JOIN
(SELECT sid, SUM(fen) AS Total
FROM TableB
GROUP BY sid) B ON tableA.sid = B.sid


测试通过,谢谢 Garnett_KG
bxbacn 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Garnett_KG 的回复:]
SELECT a.Sname,b.Total
FROM TableA
INNER JOIN
(
SELECT sid,SUM(fen) as Total
FROM TableB
) B
ON a.sid=b.sID
[/Quote]

这个运行出错 死前缀'a' 与查询中所用的表名或别名不匹配

其它几人的回答,可能没注意我的提问
bj890 2009-04-20
  • 打赏
  • 举报
回复
select sum(fen) from tableB where sid=1
Garnett_KG 2009-04-20
  • 打赏
  • 举报
回复


SELECT a.Sname,b.Total
FROM TableA
INNER JOIN
(
SELECT sid,SUM(fen) as Total
FROM TableB
) B
ON a.sid=b.sID

Ro914 2009-04-20
  • 打赏
  • 举报
回复
up
xukaifu 2009-04-20
  • 打赏
  • 举报
回复
select sum(fen) from tableB where sid=1

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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