您好我有一个如下所示的表:
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
谢谢!
答案 0 :(得分:0)
如果我理解你想要的东西,我认为这样做。
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