SQL UPDATE при выполнении условия

Помогите пожалуйста с апдейтом, кейс следующий:

Есть таблица TABLE1 : SITEORDER - уникальный номер заказа в БД, SITELINE - уникальная строка заказа в БД

введите сюда описание изображения

Необходимо выполнить апдейт поля SITESTAT=0 где SITEVAL=2, если для уникального номера SITEORDER нет пустых значений в поле SITEVAL.

На основе таблицы выше я ожидаю, что апдейт выполнит изменения для 5, 14 и 15 строки:

введите сюда описание изображения

Набросал такое, но вижу явно что-то упускаю, так как ничего не апдейчу, хоть должно быть 3 строки :(


UPDATE TABLE1
   SET SITESTAT = 0
 WHERE SITEORDER = SITEORDER
   AND SITEVAL = 2
   AND NOT EXISTS (SELECT NULL
          FROM TABLE1
         WHERE SITEORDER = SITEORDER
           AND SITEVAL IS NULL);

Ответы (2 шт):

Автор решения: Akina
UPDATE table t1
NATURAL JOIN ( SELECT siteorder
               FROM table 
               GROUP BY 1
               HAVING NOT SUM(siteval IS NULL)
               ) t2
SET t1.sitestat = 0
WHERE t1.siteval = 2
→ Ссылка
Автор решения: Albert

UPDATE TABLE1 L
   SET L.SITESTAT = 0
   WHERE L.SITEVAL = 2
   AND NOT IN (SELECT C.SITEORDER
          FROM TABLE1 C
         WHERE C.SITEVAL IS NULL
         GROUP BY C.SITEORDER);
→ Ссылка