2016-02-26 5 views
1

У меня есть таблица, которая включает в себя следующие столбцы и данные:столбца Обновления на основе комбинации других столбцов

Invoice #  Quantity  Item Id 
21589    265  L-s20-02-0 

В этом случае есть 265 записей с одной и той же информацией. Я хочу иметь возможность обновлять колонку количества до 1, если количество записей одинаковое. В этом случае, если есть 265 записей, которые соответствуют же счета-фактуры #, количество и Item ID

ответ

2

Это любопытный запрос, но можно с помощью окна функции:

;WITH toupdate AS (
     SELECT t.*, 
      COUNT(*) OVER (PARTITION BY invoice, item, quantity) AS cnt 
     FROM t 
    ) 
UPDATE toupdate 
    SET quantity = 1 
    WHERE cnt = quantity; 
Смежные вопросы