我想從@query
中選擇表格變量。從動態查詢中選擇表格
這裏是@query
:
SELECT @QUERY = 'SELECT DISTINCT USER_KEY, (SELECT TOP(1) USER_FNM FROM BAUSER WHERE BAUSER.USER_KEY = PIVOT_LOCATIONS.USER_KEY), ' + @COLDEPSUMMARY + '
FROM CAUSDE_TAS
PIVOT
(
SUM(USDE_HSU)
FOR DEPA_KEY IN (' + @COLDEPARTMENTS + ')
) PIVOT_LOCATIONS
WHERE USDE_DAT >= ''' + format(@DATEFROM, 'MM.dd.yyyy') + ''' AND USDE_DAT <= ''' + format(@DATETO, 'MM.dd.yyyy') + '''
AND USER_KEY IN (' + @USERS_STR + ')
GROUP BY USER_KEY'
EXECUTE (@QUERY)
我想要做的是從EXECUTE(@QUERY)
得到的結果,並將這些結果到臨時表@USERS
:
DECLARE @USERS TABLE
(
USER_KEY INT,
USER_FNM VARCHAR(50),
USDE_HSU DECIMAL(8,2),
[110000003] DECIMAL(8,2),
[120000002] DECIMAL(8,2),
[120000003] DECIMAL(8,2),
[120000004] DECIMAL(8,2),
[120000005] DECIMAL(8,2),
[120000006] DECIMAL(8,2),
[120000007] DECIMAL(8,2),
[120000008] DECIMAL(8,2)
)
這可能嗎?
爲什麼使用動態SQL?在這種情況下,似乎沒有必要。沒有動態SQL,你可以使用標準的'SELECT ... INTO'語句。 –
@TaylorBuchanan - 抱歉,從示例中不可見,但有大約80列。我正在動態生成它們。 (這是動態生成結果的一部分。我沒有粘貼所有列,這將是不必要的併發症)。 – FrenkyB