gpt4 book ai didi

mysql - 如果列名包含特定值,如何显示列名?

转载 作者:行者123 更新时间:2023-11-29 07:53:28 25 4
gpt4 key购买 nike

我正在尝试显示我的表的列名称(如果它的值为 1)

| A | B | C | D |
| 0 | 1 | 1 | 0 |

在这种情况下我想得到结果:

| Column |
| B |
| C |

我编写了以下查询,但它不起作用:

 SHOW COLUMNS 
FROM `questions`
WHERE VALUES=`1`

最佳答案

如果您只需要包含值 = 1 的列的列表,则应该能够使用以下查询:

select col
from
(
select col,
case s.col
when 'A' then A
when 'B' then B
when 'C' then C
when 'D' then D
end AS val
from yourtable
cross join
(
select 'A' AS col union all
select 'B' union all
select 'C' union all
select 'D'
) s
) s
where val = 1;

参见SQL Fiddle with Demo 。这使用带有您的列名称(AB 等)的虚拟表来取消透视您的列,然后您只返回包含值 1 的列名称。这项技术的功劳归功于 @Andriy M .

关于mysql - 如果列名包含特定值,如何显示列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25792002/

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