将两个不相关的查询结果合并到一个表中 - 如何?

谢普

我正在尝试合并在同一数据库的两个不同表上运行的两个单独查询的结果。

表 1 是以下查询的结果:

SELECT db1.table1.AAA AS Col1, SUM(db1.table1.BBB) AS Col2
    FROM db1.table1
    WHERE cond1 AND cond2
    GROUP BY db1.table1.AAA
    ORDER BY db1.table1.AAA

结果:

Col 1    Col2
ABC      1200
BFK      5405
KVR      1254
LRE      9851
(The list goes on)

表 2 是另一个表上另一个查询的结果:

SELECT SUM(db1.table2.CCC), SUM(db1.table2.DDD)
    FROM db1.table2
    WHERE cond3

结果:

CCC      DDD
1325     5428

我想要做的是获取一个表,其中将第二个结果添加到另一个表中,转置,如下所示:

Col 1    Col2
ABC      1200
BFK      5405
KVR      1254
LRE      9851
CCC      1325
DDD      5428

我一直在尝试使用 UNION、PIVOT、INSERT 等,但无济于事,而且我绝对确定我对这可以/应该如何工作没有明确的看法。

目前我一个接一个地运行这两个查询,然后手动将 query2 中的这 4 条数据插入到 query1 的结果中。

有没有更“优雅”的方式,其中一个 SQL 查询会返回相同的结果?

我正在MS Server Management Studio 中处理此问题- 并且还在同事编写的一个小工具中进行测试(该工具处理其中包含 SQL 代码的 xml 文件(.xml))。

戈登·利诺夫

一种方法使用UNION ALL

SELECT t1.AAA AS Col1, SUM(t1.BBB) AS Col2
FROM db1.table1 t1
WHERE cond1 AND cond2
GROUP BY db1.table1.AAA
UNION ALL
SELECT 'CCC', SUM(t2.CCC)
FROM db1.table2 t2
WHERE cond3
UNION ALL
SELECT 'DDD', SUM(t2.DDD)
FROM db1.table2 t2
WHERE cond3;

在 SQL Server 中,您还可以将其表示为:

SELECT t1.AAA AS Col1, SUM(t1.BBB) AS Col2
FROM db1.table1 t1
WHERE cond1 AND cond2
GROUP BY db1.table1.AAA
UNION ALL
SELECT v.col1, v.sumcol
FROM (SELECT SUM(t2.CCC) as ccc, SUM(t2.DDD) as ddd
      FROM db1.table2 t2
      WHERE cond3
     ) t2 CROSS APPLY
     (VALUES ('CCC', t2.ccc), ('DDD', t2.ddd)) v(col1, sumcol)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何合并到不相关表中仅1行的2个查询结果

来自分类Dev

如何将一个父表与两个不相关的子表关联

来自分类Dev

如何将两个不同的mysql查询的结果合并到一个表中

来自分类Dev

如何将两个不同的查询合并到一个表中?

来自分类Dev

如何将两个查询合并到一个子查询中

来自分类Dev

两个如何将两个查询合并到一个没有重复的结果集中?

来自分类Dev

如何从一个表中合并两个不同查询的结果

来自分类Dev

如何将两个sql表中的行和列合并到一个表中

来自分类Dev

如何将两个 SQL 表的数据合并到一个新的 SQL 表中?

来自分类Dev

如何将两个嵌套的MySQL查询合并到一个视图中?

来自分类Dev

如何将两个LINQ数据源合并到一个图表的单个表中?

来自分类Dev

如何将两个ID合并到一个列中?

来自分类Dev

如何使用sp将两个选择查询结果合并为一个结果?

来自分类Dev

如何使用sp将两个选择查询结果合并为一个结果?

来自分类Dev

如何将两个select语句合并到一个具有两个单独列的表中?

来自分类Dev

将两个不相关查询的结果合并到单个视图中

来自分类Dev

如何将两个SQL查询的结果合并为一个

来自分类Dev

Laravel 如何将两个查询结果合并为一个对象

来自分类Dev

如何在SQL Server CE中将两个SQL SELECT查询合并到一个查询中?

来自分类Dev

如何在PHP代码中将两个表中的两个查询合并为一个查询?

来自分类Dev

如何使用php脚本更新两个不相关的mysql表?

来自分类Dev

当表彼此不相关时如何从另一个表中按顺序更新表列的值

来自分类Dev

如何在NSFetchedResultsController中的单个fetchrequest中添加两个单独的不相关谓词

来自分类Dev

如何使用一个SQL查询从两个表中获得结果?

来自分类Dev

如何将两个Firebase集合合并到一个新的对象数组中

来自分类Dev

如何将两个对象数组合并到一个大数组中

来自分类Dev

sql将两个不相关的表合并为一个

来自分类Dev

c#如何通过使用ItemArray将两个数据行和列合并到一个数据表中?

来自分类Dev

如何将五个表合并到一个表中?

Related 相关文章

  1. 1

    如何合并到不相关表中仅1行的2个查询结果

  2. 2

    如何将一个父表与两个不相关的子表关联

  3. 3

    如何将两个不同的mysql查询的结果合并到一个表中

  4. 4

    如何将两个不同的查询合并到一个表中?

  5. 5

    如何将两个查询合并到一个子查询中

  6. 6

    两个如何将两个查询合并到一个没有重复的结果集中?

  7. 7

    如何从一个表中合并两个不同查询的结果

  8. 8

    如何将两个sql表中的行和列合并到一个表中

  9. 9

    如何将两个 SQL 表的数据合并到一个新的 SQL 表中?

  10. 10

    如何将两个嵌套的MySQL查询合并到一个视图中?

  11. 11

    如何将两个LINQ数据源合并到一个图表的单个表中?

  12. 12

    如何将两个ID合并到一个列中?

  13. 13

    如何使用sp将两个选择查询结果合并为一个结果?

  14. 14

    如何使用sp将两个选择查询结果合并为一个结果?

  15. 15

    如何将两个select语句合并到一个具有两个单独列的表中?

  16. 16

    将两个不相关查询的结果合并到单个视图中

  17. 17

    如何将两个SQL查询的结果合并为一个

  18. 18

    Laravel 如何将两个查询结果合并为一个对象

  19. 19

    如何在SQL Server CE中将两个SQL SELECT查询合并到一个查询中?

  20. 20

    如何在PHP代码中将两个表中的两个查询合并为一个查询?

  21. 21

    如何使用php脚本更新两个不相关的mysql表?

  22. 22

    当表彼此不相关时如何从另一个表中按顺序更新表列的值

  23. 23

    如何在NSFetchedResultsController中的单个fetchrequest中添加两个单独的不相关谓词

  24. 24

    如何使用一个SQL查询从两个表中获得结果?

  25. 25

    如何将两个Firebase集合合并到一个新的对象数组中

  26. 26

    如何将两个对象数组合并到一个大数组中

  27. 27

    sql将两个不相关的表合并为一个

  28. 28

    c#如何通过使用ItemArray将两个数据行和列合并到一个数据表中?

  29. 29

    如何将五个表合并到一个表中?

热门标签

归档