怎样将多个select…group by 的查询结果insert一张表中???

ALEX_1111 2016-12-07 08:57:39
表1: 表2:
AA NO BB AA NO1 NO2
111 273 中国
222 65
111 154 中国
333 98 中国
111 87
333 431
222 316 中国

想实现的操作是:将表1中的NO根据AA求和后插入表2中,NO1为总和,NO2为BB=中国的NO之和,
即NO1=select sum(NO) from 表1 group by AA
NO2=select sum(NO) from 表2 where BB='中国' group by AA

最终想得到:
表2:
AA NO1 NO2
111 514 427
222 381 316
333 529 98

不知道具体的sql语句该怎么写,insert的话无法将NO1和NO2并列在一条记录里








...全文
481 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-12-08
  • 打赏
  • 举报
回复
BB =N'中国' 不成立时显示0 e.g.
INSERT  INTO 表2
        ( AA ,
          NO1 ,
          NO2
        )
        SELECT  AA ,
                SUM([NO]) AS NO1 ,
                SUM(CASE WHEN BB = N'中国' THEN [NO]
                         ELSE 0
                    END)
        FROM    表1
        GROUP BY AA;
  • 打赏
  • 举报
回复
1楼正解 顶一个
RINK_1 2016-12-07
  • 打赏
  • 举报
回复
INSERT INTO 表2 SELECT AA, SUM(NO) AS NO1, SUM(CASE WHEN BB='中国' THEN NO ELSE 0 END) AS NO2 FROM 表1 GROUP BY AA
misterliwei 2016-12-07
  • 打赏
  • 举报
回复

INSERT INTO 表2
SELECT AA, NO1 = SUM(NO), NO2=SUM(CASE WHEN BB='中国' THEN NO END)
FROM 表1
GROUP BY AA

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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