我正在尝试这样的事情:
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
除了sql,我不希望我在OUTPUT子句中使用DISTINCT.我想到的解决方法是为输出创建临时表,然后将INSERT DISTINCT插入到IdListTable中.关于不同解决方法的任何想法?
解决方法
将IdListTable替换为Output语句中的临时表(或表变量,具体取决于行数).然后使用Select Distinct从临时表中向IdListTable运行第二个Insert语句.
INSERT INTO MyTable ( Col1,Col2 ) OUTPUT INSERTED.Col1,@otherParameter INTO #tempIdListTable SELECT ColA,ColB Insert into IdListTable Select distinct col1,col2 from #tempIdListTable