Обновить мою таблицу, Tenterexit, используя выбор? - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть таблица с 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 означает, что проход введен.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Вы можете использовать update -> from предложение.

UPDATE [dbo].[Tenterexit]
SET 
    [mark] =1
FROM
    (SELECT MIN([id]) id         
        FROM [dbo].[Tenterexit] WHERE [INF]=0 GROUP BY [Name],[day]) t2
WHERE t2.id = [Tenterexit].id
0 голосов
/ 23 сентября 2019

попробуйте, как показано ниже

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]
   )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...