从列值中获取列名称

时间:2012-01-12 11:30:45

标签: mysql sql database

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

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

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

我的预期输出可能就像

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

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

1 个答案:

答案 0 :(得分:0)

您将不得不查询information_schema以获取类似于this post的表和列。我不认为MySQL是你最好的选择。如果您要查找具有所需值的任何表和列,则表示您将搜索每个表中的每一列。

除非你有非常简单的表,否则这是一个非常昂贵的查询设置。您需要提取所有表数据,然后迭代所有表,搜索哪些列具有匹配值。