首页 > 解决方案 > 使用选择更新我的表 Tenterexit?

问题描述

我有一个 1628 行的表。它包含每日进入/退出寄存器。我想标记第一个输入/人/天。我尝试使用以下查询更新我的表,但它不起作用。我的错在哪里?

UPDATE [dbo].[Tenterexit]
SET 
    [mark] =1
where exists
    (SELECT MIN( [id] )
    ,[name]
    ,[day]     
    FROM [dbo].[Tenterexit] WHERE [INF]=0 GROUP BY [Name]  ,[day])

[inf]=0表示通道进入。

标签: sqlsql-serversql-update

解决方案


尝试如下

UPDATE t  
   SET 
   [mark] =1
from [dbo].[Tenterexit] t
   where t.id in ( select MIN([id])

   FROM [dbo].[Tenterexit] t1 WHERE [INF]=0 GROUP BY [Name]  ,[day]
   )

推荐阅读