将SELECT结果合并到一行

时间:2015-10-20 18:30:05

标签: sql postgresql join

我有一个表(http://sqlfiddle.com/#!15/20c96),我需要创建一个SELECT语句,它根据现有的FK返回所有行中的所有行。

例如,这就是我所拥有的:

--------------------------------
| id | fk | col1 | col2 | col3 |
--------------------------------
| 1  | 1  |  A   | null | null |
| 2  | 1  | null |   B  | null |
| 3  | 1  | null | null |   C  |
--------------------------------

这就是我需要的:

---------------------------
| fk | col1 | col2 | col3 |
---------------------------
| 1  |  A   |   B  |   C  |
---------------------------

我确信不会有任何冲突,因为我永远不会完全填充这些空列。一次只需一行即可获得一些价值。

我知道这看起来很奇怪,但我真的需要这个输出。

提前致谢。

1 个答案:

答案 0 :(得分:2)

汇总按fk列分组的值。

select fk, max(col1), max(col2), max(col3), max(col4), max(col5)
from table1
group by fk