MySQL从列值中获取列名

时间:2011-12-05 12:33:24

标签: mysql sql database

MySQL是否有一种方法可以获得列名的列名?

例如,我有STATES表和CITY表,其中'NAME'为列名。

假设我在'New York'表和STATES表中都有CITY。我想要一个查询,它会返回SATESCITY列{@ 1}}的列名。

我的预期输出可能就像

值列表
----- ------ -----
纽约名人国家
纽约名人城

以上只是一个例子。在大多数情况下,我只知道列值,我不知道列名称或相应的表名称。通常我不需要知道不同的随机模式。我正在构建一个可以与多个数据库一起使用的问题答案系统。

2 个答案:

答案 0 :(得分:0)

必须指定列名以选择数据

获取列名,可以运行SQL查询:

desc tablename

或使用类似ResultSetMetaData(在java中)

答案 1 :(得分:0)

查询时,为了防止出现歧义,请始终使用alias.column对字段进行限定,例如

select states.name,
       city.name as CityName
   from
      city
         join states
           on city.stateabbrev = states.stateabbrev
   where
      city.name = 'New York'