小编onm*_*way的帖子

将 SELECT DISTINCT 更改为 UPDATE DISTINCT

如何将SELECT DISTINCT查询修改为UPDATE DISTINCT查询?

重要的是它只更新不同的记录,因为有多个记录与每个 [Finance_Project_Number] 相关联(由于 CRUD 操作)。我只想更新一条记录,因为这只会启动验证数据等的不同过程。

如果由于 DISTINCT 导致多条记录折叠为一行,则可以更新其中任何一条记录 - 没关系。

当我运行我的选择查询时,我得到的结果是:6 982:

SELECT DISTINCT
    [Finance_Project_Number]
FROM [InterfaceInfor].[dbo].[ProjectMaster]
WHERE 
    NOT EXISTS 
    (
        SELECT *
        FROM [IMS].[dbo].[THEOPTION]  
        WHERE 
            [InterfaceInfor].[dbo].[ProjectMaster].[Finance_Project_Number] =
            [IMS].[dbo].[THEOPTION].[NAME]
    );
Run Code Online (Sandbox Code Playgroud)

这是我将查询转换为查询的尝试DISTINCT UPDATE,但这会更新 15 353 条记录:

UPDATE [InterfaceInfor].[dbo].[ProjectMaster]
SET 
    [Processing_Result_Text] = 'UNIQUE',
    [Processing_Result] = 0
WHERE 
    NOT EXISTS 
    (
        SELECT *
        FROM [IMS].[dbo].[THEOPTION]  
        WHERE 
            [InterfaceInfor].[dbo].[ProjectMaster].[Finance_Project_Number] =
            [IMS].[dbo].[THEOPTION].[NAME]
    );
Run Code Online (Sandbox Code Playgroud)

sql-server update distinct

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

distinct ×1

sql-server ×1

update ×1