我可以在OUTPUT子句中使用DISTINCT吗?

Bra*_*rad 7 sql insert distinct sql-server-2008

我正在尝试这样的事情:

INSERT INTO MyTable (
       Col1
      ,Col2 )
OUTPUT DISTINCT -- issue is with DISTINCT
       INSERTED.Col1
      ,@otherParameter
       INTO IdListTable
SELECT ColA
      ,ColB
      ,SUM(ImportantNumber)
FROM MyOtherTable
GROUP BY ColA, ColB
Run Code Online (Sandbox Code Playgroud)

除了SQL不希望我DISTINCTOUTPUT子句中使用.我想到的解决方法是为输出创建一个临时表,然后INSERT DISTINCT进入IdListTable.关于不同解决方法的任何想法?

Jef*_*ver 6

将IdListTable替换为Output语句中的临时表(或表变量,具体取决于行数).然后使用Select Distinct从临时表中向IdListTable运行第二个Insert语句.

INSERT INTO MyTable (
       Col1,
       Col2 )
OUTPUT 
       INSERTED.Col1,
       @otherParameter
       INTO #tempIdListTable
SELECT ColA,
       ColB,
       SUM(ImportantNumber)
FROM MyOtherTable
GROUP BY ColA, ColB

Insert into IdListTable
Select distinct col1, col2 from #tempIdListTable
Run Code Online (Sandbox Code Playgroud)