我一直试图解决这个问题,但似乎无法弄清楚发生了什么。我不断收到invalid column name 'Section_1'
的错误消息。我知道Section_1
存在,但似乎无法追查导致此错误的问题。这是我的代码的一部分,如果需要更多,我可以添加它:
编辑:
DECLARE @NewCols AS NVARCHAR(MAX);
DECLARE @qry AS NVARCHAR(MAX);
SELECT @NewCols = STUFF((SELECT distinct
',' +
QUOTENAME([Section_1])
FROM [dbo].[Raw_Data_Import]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SET @qry =
'INSERT INTO [DBO].ATT_tbl_AS (
Bill_Date
,MTN
,User_Name
,Adjustments_To_Previous_Balance
,FAN_Invoice_Previous_Balance
,FAN_Invoice_Past_Due
,FAN_Invoice_Amount_Due
,FAN_Invoice_Total_Current_Charges
,FAN_Invoice_Total_Payments
)
Select
Query_Selection.[ Bill_Date]
,Query_Selection.[Wireless Number]
,Query_Selection.[User Name]
,Query_Selection.[Adjustments To Previous Balance]
,Query_Selection.[Previous Balance]
,Query_Selection.[Remaining (Past Due) Balance]
,Query_Selection.[TOTAL AMOUNT DUE]
,Query_Selection.[Total Current Charges]
,Query_Selection.[Total Payments]
FROM(
Select [Bill_Date], [Wireless Number], [User Name],' + @NewCols +'
From
(
Select
[Bill_Date], [Wireless Number], [User Name], [Amount] as SumOfAmount
From [dbo].[Raw_Data_Import]
Where [dbo].[Raw_Data_Import].[Section ID] = ''IRA'' AND [dbo].[Raw_Data_Import].[Section_1] IS Not Null
) t
PIVOT
(
SUM(SumOfAmount)
FOR [Section_1] IN (' + @NewCols + ')
) p
) as Query_Selection'
execute (@qry)
编辑:也添加了打印视图。
DECLARE @NewCols AS NVARCHAR(MAX);
DECLARE @qry AS NVARCHAR(MAX);
SELECT @NewCols = STUFF((SELECT distinct
',' +
QUOTENAME([Section_1])
FROM [dbo].[Raw_Data_Import]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SET @qry =
'INSERT INTO [DBO].ATT_tbl_AS (
Bill_Date
,MTN
,User_Name
,Adjustments_To_Previous_Balance
,FAN_Invoice_Previous_Balance
,FAN_Invoice_Past_Due
,FAN_Invoice_Amount_Due
,FAN_Invoice_Total_Current_Charges
,FAN_Invoice_Total_Payments
)
Select
Query_Selection.[ Bill_Date]
,Query_Selection.[Wireless Number]
,Query_Selection.[User Name]
,Query_Selection.[Adjustments To Previous Balance]
,Query_Selection.[Previous Balance]
,Query_Selection.[Remaining (Past Due) Balance]
,Query_Selection.[TOTAL AMOUNT DUE]
,Query_Selection.[Total Current Charges]
,Query_Selection.[Total Payments]
FROM(
Select [Bill_Date], [Wireless Number], [User Name],[Adjustments to Previous Balance],[Previous Balance],[Remaining (Past Due) Balance],[TOTAL AMOUNT DUE],[Total Current Charges],[Total Payments]
From
(
Select
[Bill_Date], [Wireless Number], [User Name], [Amount] as SumOfAmount
From [dbo].[Raw_Data_Import]
Where [dbo].[Raw_Data_Import].[Section ID] = ''IRA'' AND [dbo].[Raw_Data_Import].[Section_1] IS Not Null
) t
PIVOT
(
SUM(SumOfAmount)
FOR [Section_1] IN ([Adjustments to Previous Balance],[Previous Balance],[Remaining (Past Due) Balance],[TOTAL AMOUNT DUE],[Total Current Charges],[Total Payments])
) p
) as Query_Selection'
execute (@qry)
FOR [Section_1] IN (' + @NewCols + ')
是抛出错误的部分,但不确定原因。有什么想法吗?
答案 0 :(得分:0)
您未在Section_1
的选择列表中列出t
。我认为这是你的问题。