对不起我是db2sql的新手,我不知道我的问题是不是逻辑。请更正,如果我错了,谢谢。
我的表格如下:
TABLE NAME : TABLE_FRUIT
FRUIT_ID FRUIT_NAME FRUIT_PRICE
---------------------------------------
1 Apple 1
2 Orange 2
3 Banana 1
我使用此查询在TABLE_FRUIT
中存储了列名(FRUIT_PRICE)和表名TABLE_ALL
。
select tabname,colname from SYSCAT.columns where tabname='TB_FRUIT'
,一旦我获得数据,我就会将其分解并存储在TABLE_ALL
TABLE NAME : TABLE_ALL
TABLE_ID TABLE NAME TABLE_COLUMN
----------------------------------------
1 TABLE_FRUIT FRUIT_PRICE
FRUIT_PRICE
下的TABLE_FRUIT
获取TABLE_ALL
值? 任何帮助将不胜感激。
答案 0 :(得分:0)
动态SQL可以解决您的问题
declare @colname nvarchar(30) = (select top 1 COLUMN_NAME from table_all where tabname='TB_FRUIT')
declare @sql nvarchar(30)
set @sql='select ' +@colname +' from TB_FRUIT'
exec(@sql)
它仅提供表TB_FRUIT的第一列
由此显示@colname(即:FRUIT_PRICE)下的所有值