您好,我有一个如下所示的表格:
id | PS0101 | PS0102 | PS0103 |
1 | 1 | 0 | 2 |
2 | 3 | 0 | 0 |
3 | 0 | 0 | 0 |
4 | 0 | 1 | 0 |
使用 mysql,我尝试返回一个指定用户的大于 0 的列名。
这个示例 mysql 代码是严重错误的,但只是为了提供一个想法:
SELECT column HAVING column > 0 WHERE id = 1;
这将返回 PS0101 和 PS0103
谢谢!
最佳答案
我想如果我很好地理解你想要什么就可以了。
SELECT
CASE WHEN PS0101>0 THEN 'PS0101' ELSE '' END AS column1,
CASE WHEN PS0102>0 THEN 'PS0102' ELSE '' END AS column2,
CASE WHEN PS0103>0 THEN 'PS0103' ELSE '' END AS column3
FROM table_name
WHERE id = 1;
这是一个工作 fiddle
关于mysql返回某一行中不为0的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274122/