gpt4 book ai didi

sql - 是否可以将可变列名传递到更新语句中?

转载 作者:行者123 更新时间:2023-12-02 08:39:45 24 4
gpt4 key购买 nike

我有一个数据表,其中按 12 个周期列列出了值。我试图在月初将前几个月的数据归零,但没有成功。我的查询的第一部分返回列名,然后我想将其传递到 Update 语句中,但这就是一切出错的地方?请帮忙。*

DECLARE @A VARCHAR(20) = (SELECT listofperiod FROM [periods] P 
INNER JOIN (SELECT monthofyear
FROM ref_calender RC
WHERE RC.date = Dateadd(m,-1,CONVERT(DATE,Getdate())))
RC ON P.monthofyear = RC.monthofyear)

UPDATE FD SET @A = 0
FROM [test_table] FD
INNER JOIN [glx]AG ON FD.company = AG.company
AND FD.acctnum = AG.account_id '

最佳答案

您必须使用动态 sql 来实现此目的:

DECLARE @sql NVARCHAR(MAX)

SET @sql = 'UPDATE FD
SET ' + @A + '= 0
FROM [test_table] FD
INNER JOIN [accpac_glx]AG
ON FD.company = AG.company
AND FD.acctnum = AG.account_id'

EXEC (@sql)

关于sql - 是否可以将可变列名传递到更新语句中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17744120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com