gpt4 book ai didi

mysql:在两列中搜索一个值并返回找到的列名

转载 作者:可可西里 更新时间:2023-11-01 08:46:14 26 4
gpt4 key购买 nike

例如我们有下表带列

id a b
1 1 2
2 3 4
3 5 6
4 7 8

我们正在寻找 a 列和 b 列中的值 7有没有办法查询表并返回“a”列的名称????

最佳答案

首先选择 a 或 b 为 7 的所有行。然后使用 case 语句返回为 7 的列的名称。

select id,
case when a = 7
then 'a'
else 'b'
end
from mytable
where 7 in (a,b)

另一种使用union all的方法

select id , 'a'
from mytable where a = 7
union all
select id , 'b'
from mytable where b = 7

如果对于同一行,a 和 b 都可以为 7,那么 union all 查询将返回行的 id,其中每列的两个值都为 7,而第一个查询将只返回一次值为 a

关于mysql:在两列中搜索一个值并返回找到的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27592192/

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