sql - 组合分组的行
问题描述
select *
into #HoldingTable
FROM
(Select A,
B,
sum(cast (C as money)) as C,
count(D) as D
FROM Table1 T1
WHERE (stuff)
group by A,B
union all
Select A,
B,
sum(cast (C as money)) as C,
count(D) as D
FROM Table2 T2
WHERE (stuff)
group by A,B
) as abc
如果 T1 和 T2 具有相同 A、B 的结果,则在获得结果时,它会将其列在 2 个不同的行中
select * from HoldingTable
aaa,bbb,10,4
aaa,bbb,5,3
希望它是
aaa,bbb,15,7
有没有办法做到这一点?
解决方案
这更易于阅读,并且应该与您尝试做的事情相同。
SELECT A, B, SUM(C) AS C, Count(D) AS D
INTO #HoldingTable
FROM (
SELECT A, B, cast(C AS MONEY) AS C, D
FROM Table1 T1
WHERE (stuff)
UNION ALL
SELECT A, B, cast(C AS MONEY) AS C, D
FROM Table1 T1
WHERE (stuff)
) AS abc
GROUP BY A, B
您可以在子查询和外部查询中进行聚合,如下所示,但这只会使 IMO 更难阅读。
SELECT A, B, Sum(C) AS C, Sum(D) AS D
INTO #HoldingTable
FROM (
SELECT A, B, sum(cast(C AS MONEY)) AS C, count(D) AS D
FROM Table1 T1
WHERE (stuff)
GROUP BY A, B
UNION ALL
SELECT A, B, sum(cast(C AS MONEY)) AS C, count(D) AS D
FROM Table2 T2
WHERE (stuff)
GROUP BY A, B
) AS abc
GROUP BY A, B
推荐阅读
- javascript - GulpJS 不能再正确地在列表中找到任务(Gulp 4)
- r - 如何计算R中一天中每小时的每周平均值?
- reactjs - 检查存储中的布尔值以及是否为假调度
- javascript - React-diagrams 自定义节点小部件未在 engine.repaintCanvas() 上更新
- checkbox - 单击 Codeception 中的复选框
- python - PyMongo json_util.dumps 覆盖 ObjectId 表示
- java - 如何在 Camel REST DSL 中使用 restConfiguration 的 producerApiDoc 属性验证标头
- javascript - 如何处理选择中显示的文本?
- ios - UIView 动画在转换到新视图之前快速恢复到原始状态
- angular7 - ExpressionChangedAfterItHasBeenCheckedError PrimeNG 两个单选按钮绑定到相同的属性