POSTGRESQL 中同一行的两个结果

Posted

技术标签:

【中文标题】POSTGRESQL 中同一行的两个结果【英文标题】:TWO RESULTS in SAME ROW in POSTGRESQL 【发布时间】:2017-08-29 17:48:53 【问题描述】:
select * from Table1
where Condition 1
union 
select select * from Table1
where Condition 2

结果:

NAME    AMOUNT    TYPE   
ABC      --       Account
ABC      200        --

但我需要像

这样的一行结果
NAME     AMOUNT     TYPE
ABC       200       ACCOUNT

在PG中怎么做?

【问题讨论】:

你想要的是JOIN而不是UNION 【参考方案1】:

根据您的示例数据,这可能有效

SELECT name,
       MAX(amount) amount,
       MAX(type) type
  FROM table1
 WHERE condition 1
    OR condition 2
 GROUP BY name

【讨论】:

【参考方案2】:

我已经通过以下方式实现了类似的目标:

select TABLE_1.DESCRIPTION_COLUMN,

(array(select TABLE_2.INFO_COLUMN from TABLE_2 where TABLE_1.ID = TABLE_2.ID_TABLE_1))[1],
(array(select TABLE_2.INFO_COLUMN from TABLE_2 where TABLE_1.ID = TABLE_2.ID_TABLE_1))[2]

from TABLE_1


WHERE TABLE_1 = 1

来源/帮助:

https://***.com/a/6402163/1856745

【讨论】:

以上是关于POSTGRESQL 中同一行的两个结果的主要内容,如果未能解决你的问题,请参考以下文章

r - 从数据框中同一行中的两个点创建线串

如何比较 Ag Grid 中同一行中的两个数据?

优化SQL,CASE中同一行多次

table中同一行的tr中有两个checkbox,怎么让一个被选中另一个也同时被选中,取消也如此,求JS,

Matlab图例中同一行的两种不同颜色

使用 PostgreSQL 将两个选择查询的结果添加到一个表行中