求SQL语句写法,SUM多表联合计算

表1:数据2000条姓名总分数表2:数据1000条姓名数学分数表3:数据1900条姓名语文分数表4:数据2000条姓名物理分数表1中的总分数等于:数学+语文+物理,写个个... 表1 :数据2000条
姓名
总分数

表2: 数据1000条
姓名
数学分数

表3:数据1900条
姓名
语文分数

表4:数据2000条
姓名
物理分数

表1中的总分数等于:数学+语文+物理,写个个Sql语句怎么计算,更新表1中的,总分数。
例外:小明:只有数学、语文。物理没有参加考试,没有记录、小红:只有语文有记录,其它的未考试。当然,是说表中数据不一定一致。
展开
 我来答
a1...8@sina.cn
2011-09-02 · TA获得超过308个赞
知道答主
回答量:136
采纳率:0%
帮助的人:91.8万
展开全部
UPDATE t1
SET score =
isnull((SELECT ISNULL(score, 0) AS Expr1
FROM t2
WHERE (t1.name = name)),0) +
isnull((SELECT ISNULL(score, 0) AS Expr1
FROM t3
WHERE (t1.name = name)),0) +
isnull((SELECT ISNULL(score, 0) AS Expr1
FROM t4
WHERE (t1.name = name)),0)
是这意思吧。有分的就加起来就行了,更新到第一个表中。
我是试过了,无论数据是不是一致,都没有问题。
希望对你有帮助啊!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiao_3540
2011-09-02 · TA获得超过202个赞
知道小有建树答主
回答量:194
采纳率:20%
帮助的人:86.5万
展开全部
update a set a.总分数=isnull(b.数学分数,0)+isnull(c.语文分数,0)+isnull(d.物理分数,0)
from 表1 a
left join 表2 b on a.姓名=b.姓名
left join 表3 b on a.姓名=c.姓名
left join 表4 b on a.姓名=d.姓名
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
己闻楣Sx
2011-09-02 · TA获得超过1936个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:920万
展开全部
UPDATE 表1
SET 总分数 = isnull(t1.数学分数,0) + isnull(t2.语文分数,0) + isnull(t3.物理分数,0)
FROM 表1 t0, 表2 t1, 表3 t2, 表4 t3
WHERE t0.姓名 *= t1.姓名
AND t0.姓名 *= t2.姓名
AND t0.姓名 *= t3.姓名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BQ洛洛
2011-09-02
知道答主
回答量:21
采纳率:0%
帮助的人:3.5万
展开全部
表1中的总分数等于:数学+语文+物理,写个个Sql语句怎么计算,更新表1中的,总分数。
例外:小明:只有数学、语文。物理没有参加考试,没有记录、小红:只有语文有记录,其它的未考试。当然,是说表中数据不一定一致。

参考资料: 求SQL语句写法,SUM多表联合计算

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式