我想在同一查詢 中有多個合併語句(一個接一個),但我無法使用相同的日期源。例如:具有相同數據源的SQL多重合並語句(WITH爲)
WITH DATA as(
SELECT * FROM tables_or_joins
)
MERGE table_name as Target
USING
(SELECT * FROM DATA JOIN another table
)
....
do something more; --and finish this statement here
-- start another merge here
MERGE table_name_2 as Target
USING(
SELECT * FROM DATA and join with another table
)
do something else
但輸出是Invalid object name 'DATA'.
在第二次合併。是否有任何其他方式如何在兩個合併中使用數據?希望這已經夠清楚了。
如果你需要爲同'DATA'兩條語句,使用臨時表或表變量。 –
@GordonLinoff是一個更好的方式(性能)使用臨時表或在每個合併中分別聲明數據? – Klapsius
現在我正在使用'@ temp_table',它可以工作。謝謝@Gordon Linoff – Klapsius