Обновить столбец с запросом ниже? - PullRequest
0 голосов
/ 24 сентября 2019

Как мне написать этот запрос для обновления столбца на основе оператора case?

UPDATE Table
SET Form = CASE 
              WHEN (cnt - rownum < cnt % NumberUp) 
                 THEN 0 
                 ELSE  floor((rowNum - 1) / numberUp) + 1 
           END AS form
ORDER BY Quantity

1 Ответ

2 голосов
/ 24 сентября 2019

Как прокомментировал, ваш запрос выглядит довольно хорошо, кроме этих:

  • предложение ORDER BY не имеет смысла;запрос UPDATE не возвращает никаких записей, поэтому порядок выходит за рамки

  • по той же причине, вам не нужно добавлять псевдоним обновленный столбец

Рассмотрим:

UPDATE Table
SET Form = CASE 
    WHEN (cnt - rownum < cnt % NumberUp) THEN 0 
    ELSE  floor((rowNum - 1) / numberUp) + 1 
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...