2012-01-12 21 views
1

カラム値を指定してカラム名を取得する方法はありますか?カラム値からカラム名を取得

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

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

私の予想される出力は

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

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

+0

私はPHPでそれを作る方法に答えることができます。 MySQLだけでは難しいです。 – pltvs

答えて

0

あなたはthis postに似たテーブルと列を取得するにはINFORMATION_SCHEMAを照会する必要があるとしています。私はMySQLだけであなたの最善の策だとは思わない。あなたが望む値を持つテーブルとカラムを見つけようとするなら、それはすべてのテーブルのすべてのカラムを検索することを意味します。

非常に単純なテーブルがない限り、これは非常に高価なクエリ設定です。すべてのテーブルのデータを取得し、すべてのテーブルを反復して、一致する値を持つ列を検索する必要があります。

関連する問題