Sql server 如何从另一列插入值,通过查询获取列名
我想知道如何从具有动态名称的列中插入值。我得到的列名如下:Sql server 如何从另一列插入值,通过查询获取列名,sql-server,Sql Server,我想知道如何从具有动态名称的列中插入值。我得到的列名如下: select (select a.COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS a where a.COLUMN_NAME = 'COMMENTS') TEST from jan_dic d 我有一个master_表,其中一列的列名都是唯一的,另一列的第一列的列名都是经过批准的,如下所示 column1 | column2 ---------+-----
select
(select a.COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS a
where a.COLUMN_NAME = 'COMMENTS') TEST
from jan_dic d
我有一个master_表,其中一列的列名都是唯一的,另一列的第一列的列名都是经过批准的,如下所示
column1 | column2
---------+------------
capital | cap_amount
capital | amount_cap
capital | cap_amt
我的问题是,如果列名获得批准,如何在其他表的列名为'capital'的另一个表中插入值。您好,欢迎光临。我知道英语不是你的第一语言,但这没什么意义。批准列是什么意思?你到底想在这里做什么?您需要发布表定义、一些示例数据和所需的输出。这是一个很好的起点。寻找动态查询如果没有人能理解你,没有人能帮助你。
DECLARE @colname sysname = (
select
(select a.COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS a
where a.COLUMN_NAME = 'COMMENTS') TEST
from jan_dic d
)
DECLARE @stmt NVARCHAR(MAX) = N'
INSERT INTO othertable (' + @colname + N') VALUES ...
'
EXEC sp_executesql @stmt = @stmt