|
MySQL.RU - Webboard
Вернуться
UPDATE 2х таблиц одним запросом (Илья) 01/03/2007 - 23:31:02
Re: UPDATE 2х таблиц одним запросом (Альмир) 05/03/2007 - 14:54:22
> Original message text:
> From: Илья - 01/03/2007 - 23:31:02
> Subject:UPDATE 2х таблиц одним запросом
> -----------------
> ====b1====
> +--+-----+
> |id|point|
> +--+-----+
> |11|10000|
> +--+-----+
>
> =======b2=======
> +--+---+---+---+
> |id|aaa|old|new|
> +--+---+---+---+
> |11|100| 3 | 0 |
> +--+---+---+---+
> |11|200| 25| 0 |
> +--+---+---+---+
>
> что мы имеем, 2 таблицы, нужно сделать запрос UPDATE такой, в таблице b2 изменить aaa на столько, на сколько ячейка old больше чем ячейка new, при этом ячейки old & new уровнять по значению, и так же увеличить значение в таблице b1 у того же id что равен в таблице b2
>
> я пытался сделать такой запрос, но т.к. он не принёс результата я понял что он не верный...
>
> update `b1`, `b2`
> set
> `b1`.`point`=`b1`.`point` + (`b2`.`old`-`b2`.`new`),
> `b2`.`aaa`=`b2`.`aaa`+(`b2`.`old`-`b2`.`new`),
> `b2`.`new`=`b2`.`new`+(`b2`.`old`-`b2`.`new`)
> where `b1`.`id`=`b2`.`id`
>
> после выполнения данного запроса имеем следущее:
>
> ====b1====
> +--+-----+
> |id|point|
> +--+-----+
> |11|10003|
> +--+-----+
>
> =======b2=======
> +--+---+---+---+
> |id|aaa|old|new|
> +--+---+---+---+
> |11|103| 3 | 3 |
> +--+---+---+---+
> |11|225| 25| 25|
> +--+---+---+---+
>
> а хотелось бы что бы b1.point равнялся 10028
>
From: Альмир - 05/03/2007 - 14:54:22
Subject:UPDATE 2х таблиц одним запросом
-----------------
Используйте триггеры.
Изменяете данные в одной таблицы, срабатывает триггер, обновляются данные в другой
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30904
|
|