我可以在 OUTPUT 子句中使用 DISTINCT 吗?
我正在尝试类似的操作:
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
中。关于不同的解决方法有什么想法吗?
I'm trying something like:
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
Except SQL doesn't want me to use DISTINCT
in the OUTPUT
clause. The workaround I thought of was to create a temp table for the output, then INSERT DISTINCT
into the IdListTable
. Any ideas on a different workaround?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Output 语句中将 IdListTable 替换为临时表(或表变量,具体取决于行数)。然后使用 Select Distinct 将第二个 Insert 语句从临时表运行到 IdListTable 中。
Replace IdListTable with a temporary table (or a table variable depending upon the number of rows) in the Output statement. Then run a second Insert statement into IdListTable from the temporary table with a Select Distinct.