gpt4 book ai didi

mysql - 从同一个表中的条件中获取列名

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

我需要表中的列名称,并且在同一个表上满足条件。假设名为“size”的列的值为“22”,而它应该检查以“sizecaption1,sizecaption24”开头的 24 列中的相同值,并返回每行包含值“22”的列名称。谢谢这是我尝试过的,但它对我不起作用:

create procedure dataaudit()
begin
declare countr int;
declare headr int;
set @countr = (select size from joinbom group by stylecode limit 0,1);
set @headr1=(select sizecaption1 from joinbom group by stylecode limit 0,1);
while @countr = @headr1 do select column_name from
information_schema.columns where table_name like'joinbom' and
@countr=@headr;

最佳答案

根据您的稀疏规范,您可以尝试一下

SELECT
id,
TRIM(CONCAT(
IF(sizecaption1 = size, 'sizecaption1 ', ''),
IF(sizecaption2 = size, 'sizecaption2 ', ''),
IF(sizecaption3 = size, 'sizecaption3 ', ''),
IF(sizecaption4 = size, 'sizecaption4 ', ''),
IF(sizecaption5 = size, 'sizecaption5 ', ''),
IF(sizecaption6 = size, 'sizecaption6 ', '')
)) AS result
FROM JoinBoom
ORDER BY id
;

查看实际效果:SQL Fiddle

如果需要调整/进一步的细节,请发表评论。

关于mysql - 从同一个表中的条件中获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55512185/

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