sql - 使用选择更新我的表 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
表示通道进入。
解决方案
尝试如下
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]
)