Обновление и проверка одновременно
У меня есть таблица следующего вида
CatID| Total_Amount | Amount_paying |IsCompleted
-----|--------------|---------------|------------
CA01| 2000 | 1700 | 0
В этой таблице я должен проверить, совпадают ли Total_Amount и amount_paying или нет?
Где total_amount является фиксированной и amount_paying позволит вам максимизировать после каждого оператора Insert.
Так что если я вставлю запись
CatID| Total_Amount | Amount_paying |IsCompleted
-----|-------------- |------------ |------------
CA01| 2000 | 1700 | 0
CA01| 2000 | 300 | 1
Здесь я плачу 300 , так что Total_Amount = Amount_Paying и IsCompleted=1
UPDATE tbl SET is_completed = CASE WHEN SUM(amount_paying) = Total_Amount THEN 1 ELSE 0 END WHERE tbl.branch_id =@branchid AND CatID=@catid
указание "агрегат может не отображаться в заданном списке оператора UPDATE".
Что я уже пробовал:
UPDATE tbl SET is_completed = CASE WHEN SUM(amount_paying) = Total_Amount THEN 1 ELSE 0 END WHERE tbl.branch_id =@branchid AND CatID=@catid