gpt4 book ai didi

sql - 将多列合并为一列多行

转载 作者:行者123 更新时间:2023-11-29 12:32:39 25 4
gpt4 key购买 nike

在 PostgreSQL 中,如何将多列合并为一列多行?

列都是 bool 值,所以我想:

  • 仅过滤真值
  • 将真实值 (1) 替换为列名(A、B 或 C)

我有这张表:

ID   | A   | B   | C
1 0 1 0
2 1 1 0
3 0 0 1
4 1 0 1
5 1 0 0
6 0 1 1

我想得到这张表:

ID   | Letter
1 B
2 A
2 B
3 C
4 A
4 C
5 A
6 B
6 C

最佳答案

我想你需要这样的东西:

SELECT ID, 'A' as Letter FROM table WHERE A=1
UNION ALL
SELECT ID, 'B' as Letter FROM table WHERE B=1
UNION ALL
SELECT ID, 'C'as Letter FROM table WHERE C=1
ORDER BY ID, Letter

关于sql - 将多列合并为一列多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com