2011-12-05 9 views
0

列の値を指定して列名を取得する方法はありますか?MySQLは列の値から列名を取得します

例えば、カラム名として'NAME'を持つSTATESテーブルとCITYテーブルを持っています。

STATESテーブルとCITYテーブルの両方に'New York'があります。私はSATESCITYの列名を返すクエリを、'New York'としたい。

私の予想される出力は

値           列       表
-----               ------      ようなことができ      -----
ニューヨーク      NAME       STATES
ニューヨーク      NAME       CITY

上記は一例です。ほとんどの場合、私は列の値を知っているだけで、列名や対応するテーブル名はわかりません。一般的に、私は異なるランダムスキーマについて知る必要はありません。私は複数のデータベースで動作する質問回答システムを構築しています。あなたは

は、列名を取得し、データを選択するために、列名を指定する必要があります

+2

gettin gの答えはあなたの要求を満たしていないかもしれません。おそらく、期待される出力、いくつかのデータ、テーブル構造などの情報を私たちに教えてくれるかもしれません。:) – Nonym

+0

あなたが探していると思うものは、 'CASE'あなたの期待される出力の例を挙げてください。 –

答えて

0

を照会する場合あいまいさを防ぐには、常にalias.columnでフィールドを修飾してください。

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で)

関連する問題