【发布时间】:2018-09-19 04:31:49
【问题描述】:
我的 UNION 查询是:
SELECT type, hs
FROM (...) as table_1
UNION
SELECT type, hs
FROM (...) as table_2
UNION
SELECT type, hs
FROM (...) as table_3
我想做的是:
SELECT
table_1.hs hs_1,
table_2.hs hs_2,
table_3.hs - (table_1.hs + table_2.hs) hs_3
FROM ()
只要告诉我我的解释是否正确。
** 已编辑
根据要求,我添加了更多详细信息:
所有 3 个表的 UNION 中的行是:
type | hs
___________
'BLUE' | 8
'RED' | 2
'ALL' | 15
我需要的是:
type | hs
___________
'BLUE' | 8
'RED' | 2
'REST' | 5
'REST' 值是从 ALL (15) 中减去 'RED' (2) + 'BLUE' (8) 的加法所得
在 Postgresql 中,类似于:
SELECT
table_1.hs hs_1,
table_2.hs hs_2,
table_3.hs - (table_1.hs + table_2.hs) hs_3
FROM ()
【问题讨论】:
-
您能否为每个表提供几行示例数据,并显示预期的输出应该是什么。另外,看看
EXCEPT。该关键字在 sql 中实现了 set 差异。
标签: sql postgresql union