Обновление SQL Server с левым соединением и группой - PullRequest
4 голосов
/ 17 марта 2010

Я делаю обновление нашей базы данных и хотел бы обновить строки, в которых нет элементов в другой таблице. Я могу объединить таблицы вместе, но у меня проблемы с группировкой таблицы, чтобы получить количество строк

UPDATE dpt
SET dpt.active = 0 
FROM DEPARTMENT dpt
LEFT JOIN DOCUMENTS doc on dpt.ID = doc.DepartmentID
GROUP BY dpt.ID
HAVING COUNT(doc.ID) = 0

Что мне делать?

Ответы [ 2 ]

5 голосов
/ 17 марта 2010

Использование:

UPDATE DEPARTMENT
   SET active = 0 
 WHERE NOT EXISTS(SELECT NULL 
                    FROM DOCUMENTS doc
                   WHERE doc.departmentid = id)
4 голосов
/ 17 марта 2010
UPDATE  department
SET     active = 0
WHERE   id NOT IN
        (
        SELECT  departmentId
        FROM    doc
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...