gpt4 book ai didi

mysql - 通过特定行值动态获取列名

转载 作者:行者123 更新时间:2023-11-30 01:37:44 24 4
gpt4 key购买 nike

我对编写查询感到震惊。这里我想根据一些特定值显示列名称

例如,我的表格是这样的:

id  | fruits   |vegetables    |softdrink
-----------------------
1 | apple | Onion | Pepsi
2 | mango | Potato | Coke
3 | banana | Bringal | RedBull

如果我有一个值“mango”,那么我应该将列名称设置为“fruit”或

如果我的值是“RedBull”,那么我应该将列名称设为 softdrink

注意:我有很多大约 48 列,可以从其中任何一列中获取名称

最佳答案

set @q= CONCAT('SELECT columns.column_name 
from table inner
join information_schema.columns
on columns.table_schema = "dbname"
and columns.table_name = "table"
and ((',
(SELECT GROUP_CONCAT(CONCAT('columns.column_name="',column_name,'"',' and table.',column_name,' = "value','"') SEPARATOR ' OR ')
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table'),
'))');
prepare query from @q;
execute query;

这肯定有效..

唷!

fiddle :http://sqlfiddle.com/#!2/9420c/2/2

PS:将 table 替换为您的表名称,dbname 替换为您的数据库名称,value 替换为您的值

关于mysql - 通过特定行值动态获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621714/

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