SQL-запрос на обновление данных в одной таблице, если выполняется условие на другой таблице

программирование php MySQL базы данных sql

Имеется таблица t1 с полями: id, balance, frozen_balance.
Имеется таблица t2 с полями: id, t1_id, price, test.

Помогите с запросом, который бы в случае, если t2.test первым символом содержит, например, знак "-" (тире), то:
1. из t1.frozen_balance отнять t2.price;
2. из t1.balance отнять t2.price;

Надеюсь на вашу помощь!
Ответы:
update t1 set balance=balance-ifnull((select sum(t2.price) from t2 where t2.t1_id=t1.id and left(t2.test,1)='-'),0), frozen_balance=frozen_balance-ifnull((select sum(t2.price) from t2 where t2.t1_id=t1.id and left(t2.test,1)='-'),0)
UPDATE t1,t2
SET  t1.frozen_balance= t1.frozen_balance- t2.price,  t1.balance= t1.balance- t2.price
WHERE t1.id=t2.t1_id AND LEFT( t2.test,1)='-'
Вообще-то такие операции выполняются в триггерах


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.