【问题标题】:Need an SQL query to map column value to column name需要 SQL 查询将列值映射到列名
【发布时间】:2013-01-06 06:35:22
【问题描述】:

我有以下表结构(表名是问题)

c1   c2   c3  Selection

X    Y    Z   2

A    B    C   3

这里的 c1,c2,c3 和 Selection 是列名。我想根据列选择的值检索 c1 或 c2 或 c3 的值。 例如。如果选择值为 2,那么我想要 c2 列的相应值,即 Y。 如果选择值为 3,那么它应该选择 c3 列的值,这里是 C。

请帮助我在这里形成 Select Sql 查询。我尝试了自己,但无法找到正确的解决方案。

提前致谢

【问题讨论】:

标签: mysql sql select


【解决方案1】:
SELECT  CASE Selection
            WHEN 1 THEN c1
            WHEN 2 THEN c2
            ELSE c3
        END val
FROM    tableName

【讨论】:

  • 谢谢队友..这就是我想要的...非常感谢您对问题的快速理解和快速回复.... :)
【解决方案2】:

你必须使用 CASE'sIF's

   select if(selection=2 ,b,if(selection=3,c,a)) from Table1 ;

例如看这里...link

【讨论】:

    【解决方案3】:

    这很简单,只需运行一个简单的查询,它将返回所有列,然后您应该使用适当的列。

    SELECT * FROM mytable WHERE selection = 'yourvalue'
    

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 2021-08-11
      • 2015-06-01
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      相关资源
      最近更新 更多