2016-08-11 3 views
-2

列の値として列の値を使用するにはどうすればよいですか。問合せ結果または列値を使用して選択列名を定義する方法は?

SELECT TableX.(
SELECT OdTable.columnamecell 
from OdTable 
where 1 =1 
AND OdTable.KeyValue = TableX.SomeValue 
) as MyValue 
,TableX.OtherValue as OtherValue 
, TableX.SomeValue 
from TableX 
WHERE 1 = 1 

あるいはそれを別の方法を言うために:私はこれを試してみた私は、別のクエリまたはサブクエリの列名としてテーブルの列の値を使用できますか?

説明:表:OdTableには、別の表の列名である値を持つ列があります。

+0

MySQL、SQL Server、またはOracleを使用しているデータベースはどれですか? –

+0

あなたのACTUALデータベースでこれをタグ付けします。可能なすべてのDBのスープではありません。 mysqlを使用している場合、oracleに対する答えはまったく役に立たないでしょう。 –

+0

私はあなたがピボット回転したいと思うが、私は確かに言うことができない。あなたの質問は非常に不明です。 – sstan

答えて

1

いいえ、はい。 "標準の" SQLではこれを行うことはできません。問合せのコンパイル時に、すべての表名と列名をリテラルとして認識する必要があります。実行時にそれらを提供することはできません。あなたが望むのは「動的SQL」と呼ばれます。ときにはそれが問題の唯一の解決策になることもありますが、ほとんどの場合、必要でないときに使用されます。これにはいくつかの短所(セキュリティリスク、パフォーマンスの低下、メンテナンスの難しさなど)があります...

関連する問題