1
我有一個包含以下幾列和數據表:更新列基於其他列的組合
Invoice # Quantity Item Id
21589 265 L-s20-02-0
在這種情況下有265條記錄相同的信息。如果數量與記錄數量相同,我希望能夠將數量列更新爲1。在這種情況下,如果有265條記錄相匹配的相同發票號碼,數量和產品ID
我有一個包含以下幾列和數據表:更新列基於其他列的組合
Invoice # Quantity Item Id
21589 265 L-s20-02-0
在這種情況下有265條記錄相同的信息。如果數量與記錄數量相同,我希望能夠將數量列更新爲1。在這種情況下,如果有265條記錄相匹配的相同發票號碼,數量和產品ID
這是一個奇怪的要求,但它利用窗口函數是可能的:
;WITH toupdate AS (
SELECT t.*,
COUNT(*) OVER (PARTITION BY invoice, item, quantity) AS cnt
FROM t
)
UPDATE toupdate
SET quantity = 1
WHERE cnt = quantity;