Fanat Andrew

Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору БД FireBird 2.6.0.67 Версия gds32.dll: 2.5.1.26351 Есть таблицы: CLIENTS поля ID, BONUS_BALANCE ORDERS поля ID, CLIENTID, TARIF_ID CLIENT_BONUS_OPER поля ID, CLIENTID, ORDERID, SUMM Надо CLIENTS.BONUS_BALANCE уменьшить последовательно на величину CLIENT_BONUS_OPER.SUMM у тех CLIENTS.ID у которых ORDERS.TARIF_ID равен определенному значению. CLIENTS.ID, ORDERS.CLIENTID, CLIENT_BONUS_OPER.CLIENTID равны ORDERS.ID, CLIENT_BONUS_OPER.ORDERID равны После уменьшения необходимо удалить строки из CLIENT_BONUS_OPER которые принимались к вычету Вот так я вывел список операций на основании тарифа Код: select client_bonus_oper.orderid, client_bonus_oper.clientid, client_bonus_oper.summ from client_bonus_oper where orderid in (select ORDERS.id from ORDERS where ORDERS.TARIF_ID like '39') | ответ Код: ORDERID CLIENTID SUMM 392054 25824 10000 | а как дальше быть? надо по ORDERID уменьшить BONUS_BALANCE на величину SUMM а потом эту запись убрать |