SQLITE查询根据列的值检索列名

时间:2013-08-12 08:12:05

标签: mysql sql sqlite

您好我已经查看了这些论坛,我需要帮助获取基于值的列名称。

例如,我有一个表格,如:

|Name  | Column1 | Column2 | Column3|
|-----------------------------------|
|Peter | 100     | 120     | 92     |
|-----------------------------------|
|James | 110     | 105     | 88     |
|-----------------------------------|
|David | 90      | 112     | 98     |

我想查询Peter的值为92,我需要查询返回Column3。

我知道非常基本的sql并且没有真正使用sqlite来深入理解它。

我搜索过,我找到的最好的是这个帖子确实有一个适用于mysql的解决方案:Get column name dynamically by Specific row value

我对此进行了测试,它完全符合我的要求。 当然不适合sqlite。

我需要知道是否可以使用sqlite完成此操作,如果是,那么正确的语法是什么? 我再次知道非常基本的SQL。

如果有人有任何提示/建议我很感激。

1 个答案:

答案 0 :(得分:1)

如果列很少并且名称已修复,则可以使用: -

select case when col1 == 92 then col1 
            when col2 == 92 then col2 
            when col3 == 92 then col3
       end
  from tab;