如何使用列值作为列名。我试过这个:
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 :(得分:1)
不,是的。你不能用“标准”SQL做到这一点;编译查询时,必须以文字形式知道所有表名和列名;它们不能在运行时提供。你想要的是“动态SQL”;有时候它是问题的唯一解决方案,但大部分时间它都是在没有必要时使用的。它有几个缺点(安全风险,性能损失,难以维护......)