sql - 如何组合结果表中的 2 列?
问题描述
我写了一个相当大的 sql 查询,它连接(外连接)两个类似的查询。它们中的每一个都以以下格式返回一个表格:
date | value1(q1)
-----------+-----------
05-06-2010 | 10
05-07-2017 | 12
第二个子查询也是如此。加入他们后,我得到下表:
date | value1(q1) | date | value(q2)
-----------+------------+------------+--------
05-06-2010 | 10 | NULL | NULL
05-07-2017 | 12 | NULL | NULL
NULL | NULL | 05-07-2010 | 15
NULL | NULL | 01-02-2008 | 17
我尝试将所有内容包装在 a 中CONCAT
,但它不起作用。
如何以这种形式获得结果:
date | value1(q1) | value(q2)
-----------+------------+-----------
05-06-2010 | 10 | 0
05-07-2017 | 12 | 10
07-08-2018 | 14 | 17
解决方案
试试下面的脚本 -
SELECT [date],
SUM([value1(q1)]) AS 'value1(q1)',
SUM([value(q2)]) AS 'value(q2)'
FROM
(
SELECT [date],
[value1(q1)] AS 'value1(q1)',
0 AS 'value(q2)'
FROM your_table_1
UNION ALL
SELECT [date],
0 AS 'value1(q1)',
[value(q2)] AS 'value(q2)'
FROM your_table_2
)A
GROUP BY [date]
推荐阅读
- mat - 需要为 MAT 中的每个索引从数组中获取值
- python - Python:显示表名,获取用户选择,从 SQLite 显示该表报告
- reactjs - 为什么 Simple axios 不适用于 React Native
- salesforce - 不接受 WITH 子句 - Salesforce
- react-native - 如何将组件中的道具传递给 FlatList renderItem
- java - 为什么我的结果集会出现错误?
- reactjs - React 组件组合的正确或有效方法是什么?
- php - 我如何在 laravel 中使用多个数据库,比如一组一个数据库?
- android - Android ConnectivityManager onAvailable 有时未返回
- node.js - 我们如何在一个项目中同时使用“扩展”真或假