关于批量插入记录的sql

YangYun 2018-12-02 08:58:36
我在存储过程中建立一个临时表 #T(UserId,CountItem)
在这个#T中字段UserID字段值已经存在了,我准备向这个临时表中批量插入字段CountItem的值,其中,我可以通过
Select A.UserID,Count(B.Id) as CoutnItem from TbA A,tbb B
where XXXXXXXX
group by A.userId
获得CoutnItem的值,怎样一次性将这个countItem更新到临时表中相应的地方呢?
...全文
124 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YangYun 2018-12-04
  • 打赏
  • 举报
回复
sql语句太灵活,功能太强大了。遗憾的是我始终把sql掌握不好,郁闷
xiaoxiangqing 2018-12-04
  • 打赏
  • 举报
回复
用update语句,条件关联就行了
二月十六 版主 2018-12-02
  • 打赏
  • 举报
回复
引用 2 楼 二月十六 的回复:
试试这样,没测试:
update #T set countItem =(Select Count(B.Id)  from TbA A,tbb B
where XXXXXXXX  --如果CoutnItem和这个搜索有关系,这里where条件加上,如果没关系,可以这样写,也可以外边定义一个变量
group by A.userId) 
比如有关系
update #T set countItem =(Select Count(B.Id)  from TbA A,tbb B
where #T.UserId = A.userId  
group by A.userId) 
没关系

declare @i int = (Select Count(B.Id)  from TbA A,tbb B
where XXXXXXXX 
group by A.userId)
update #T set countItem =@i
吉普赛的歌 版主 2018-12-02
  • 打赏
  • 举报
回复
手机浏览器手敲,比较麻烦。有些东西你稍调整下
二月十六 版主 2018-12-02
  • 打赏
  • 举报
回复
试试这样,没测试:
update #T set countItem =(Select Count(B.Id)  from TbA A,tbb B
where XXXXXXXX  --如果CoutnItem和这个搜索有关系,这里where条件加上,如果没关系,可以这样写,也可以外边定义一个变量
group by A.userId) 
吉普赛的歌 版主 2018-12-02
  • 打赏
  • 举报
回复

;with cte as (
Select A.UserID,Count(B.Id) as CountItem from TbA A,tbb B
where XXXXXXXX
group by A.userId
)
Update#t
Set CountItem=cte.CountItem
from cte
where #t.userId=cte. userId

34,590

社区成员

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

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