2011-12-05 181 views
0

有沒有一種方法可以讓MySQL獲得列名的列值?MySQL從列值獲取列名稱

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

說我有兩個STATES表和CITY'New York'。我想要一個查詢,它將返回SATESCITY的列名稱'New York'

我的預期的輸出也能像

 值         柱       表
-----               ------             -----
紐約      NAME       STATES
紐約      NAME       CITY

上面只是一個例子。在大多數情況下,我只知道列值,我不知道列名或相應的表名稱。通常我不需要知道不同的隨機模式。我正在構建一個可用於多個數據庫的問題解答系統。

+2

要避免開始g答案不符合你的要求,也許你可以通過更多的信息來啓發我們,比如你期望的輸出,一些數據和表格結構.. :) – Nonym

+0

我認爲你正在尋找的東西可以用'CASE'聲明,但請舉例說明您的預期產出。 –

回答

0

查詢時,以幫助防止歧義,總是限定字段與別名。列如

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

你必須指定列名來選擇數據,

獲得列名,您可以運行SQL查詢:

desc tablename 

或使用像ResultSetMetaData(在Java)