我有一个表(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 |
---------------------------
我确信不会有任何冲突,因为我永远不会完全填充这些空列。一次只需一行即可获得一些价值。
我知道这看起来很奇怪,但我真的需要这个输出。
提前致谢。
答案 0 :(得分:2)
汇总按fk列分组的值。
select fk, max(col1), max(col2), max(col3), max(col4), max(col5)
from table1
group by fk