问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQLSERVER数据更新问题

发布网友 发布时间:2022-04-10 02:50

我来回答

2个回答

懂视网 时间:2022-04-10 07:12

。似乎很简单

但是今天我遇到这样一个问题:我需要更新一张叫PO_SPECIAL_TASK_LINE表的score字段,这个分数通过另外一张打分详情表(special_assessment_score_detail)计算出来的,

他们之间的关联是字段是taskId和taskLineID。

好了,我马上就写出了如下语句:

update PO_SPECIAL_TASK_LINE

set score=(

SELECT SUM(score) FROM
(SELECT AVG(CONVERT(decimal,score)) score,TASK_LINE_ID FROM dbo.special_assessment_score_detail WHERE TASK_ID=‘‘
GROUP BY TASK_LINE_ID,SPECIAL_INDICATORS_ID) a
GROUP BY TASK_LINE_ID

)

where task_id=‘‘

 

目的很简单,通过一张打分表算出当前任务的所有行的每个指标的平均分并求和更新到任务行表的对应行中

上面的写法如果是一个任务只有一行是没有问题的,但是如果一个任务有多行数据,我需要批量更新的话,显然这是不行的。

那么这里就用到了update的高级用法(自我称之为高级):

update 表1

set 表1.score=表2.score

from 表1,

表2

where 表1.task_line_id=表2.task_line_id

这里的表2可以是一个查询视图,老铁们是不是觉得很高级,这样不管表2中有几个score,都可以对应更新到表1中了

这里也贴上我在项目中的源码:

UPDATE dbo.PO_SPECIAL_TASK_LINE
SET PO_SPECIAL_TASK_LINE.SCORE=a.score
FROM PO_SPECIAL_TASK_LINE,
(SELECT CAST(ROUND(SUM(score),0) AS INT) score,TASK_LINE_ID
FROM (
SELECT AVG(CONVERT(decimal,score)) score,TASK_LINE_ID FROM dbo.special_assessment_score_detail WHERE TASK_ID=#{taskId} AND PROCESS_STATUS IN (‘4‘,‘5‘,‘0‘) GROUP BY SPECIAL_INDICATORS_ID,TASK_LINE_ID
)s GROUP BY TASK_LINE_ID) a
WHERE PO_SPECIAL_TASK_LINE.TASK_LINE_ID=a.TASK_LINE_ID
AND PO_SPECIAL_TASK_LINE.TASK_ID=#{taskId}

这是mybatis中XML中的代码,参数就是任务ID(taskId)

 

sqlserver关联更新问题

标签:date   更新   detail   round   group by   set   语句   where   需要   

热心网友 时间:2022-04-10 04:20

create trigger bmxxid
on 部门信息表
AFTER UPDATE
IF UPDATE (ID)
BEGIN
DECLARE @ID AS INT
DECLARE @OLD_ID INT
SELECT @ID=ID FROM INSERTED
SELECT @OLD_ID=ID FROM DELETEED
--更新员工信息表
update 员工信息表 SET 员工信息表.部门ID=@ID
WHERE 员工信息表.部门ID=@OLD_ID
END
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
15份的摘抄,要短的我是写作业的,差不多一份要一张纸 肯定会给高分_百度... 补牙前怎么样杀神经? ...我妈让我把牙堵上,想知道是怎么堵?要是杀神经,具体流程是什么样的... 汽车电瓶断电开关断正极还是负极 汽车电瓶断电开关断正极吗 为什么汽车电瓶断电后要断开负极 亳州市教师资格证考哪些科目 请问在观澜坐哪路公交车去深圳大学 陈旧隙腔性脑梗塞能喝酒吗?要喝的话多少为好?谢谢……! 男女朋友分手,怎样消除房产证上女方的名字 ...加了女方的名字 现在女方要提出分手 这房子该怎么处理? 国外的手机游戏怎么玩 登录工行个人网上银行时报错“EXCEPTION:[OBJECT ERROR]”,如何处理? 作文,做你的( )真幸福 800字, 高中800字作文因为有你我很幸运 在wifi设置里 wps pin 输入有什麽用 手机设置WLAN里面有个WPS PIN输入是干什么用的 vivo WPS PIN输入的含义 vivo手机的WPS PIN输入是什么意思? 登录工商网上银行时,提示控件Exception:[object Error]". 求解!:进部分网页(如qq校友)老是提示“(object error)”,同时表现为大部网页中的flash动画不能播放 什么是wps_pin输入?干什么用的? IE打开网站出现checkupgrade error:[object error]错误 IE Object Error怎么回事 IE老是跳出object error的框框来,怎么办的啊? js在IE下报 object error,该怎么解决 国破山河在,城春草木深.“国破”写的是什么历史事件 国破山河在城春草木深这诗句的历史背景是 国破山河在城春草木深这一诗句的历史背景 国破山河在城春草木深这一句诗句的历史背景是什么 求一部印度老电影的名字 绝地求生.刺激战场手游可以跟外国人玩吗?怎么匹配???求助! 绝地求生.刺激战场手游可以跟外国人玩吗?怎么匹配???求助! 苹果手机关机了怎么看充电电量情况 苹果手机明明还有电为什么几天没电自动关机呢的所有信息 6s苹果手机电量显示还有就会关机怎么回事 梦见钱包600块钱被偷走,包还在,钱也要回来了 梦见我的包被偷了里面还有好多钱,我嚎啕大哭 油桐可以种植香菇,木耳吗 做袋料木耳可以不放碳酸钙吗?碳酸钙起什么作用 感觉艺术学院好多美女? 北京三里屯艺术学院女被5P是真的吗? 大连艺术学院的校容校貌 山东艺术学院美女多吗? 希望哪位好人帮我客观的评价一下大连艺术学院 山东艺术学院有美女吗 艺术学院都很乱吗 下拉菜单如何添加选项 请问云南艺术学院女生公寓四人间和六人间有什么不一样,我指房间内部。谢谢 听说报考北京解放军艺术学院还必须是处女是么? 吉林艺术学院女学生在社会上的口卑好吗?