Предложение WHERE с предложениями SET и UPDATE

Я должен начать с того, что здесь есть много примеров, но ни один из них не работает с несколькими (в моем случае 3) таблицами, которые я должен использовать.

Идея такова: когда я обновляю одну из моих таблиц (вещей), я хочу, чтобы мой триггер автоматически обновлял другую таблицу (текущую) с умноженным значением 2 столбцов (зарплата из таблицы парней и thing_cost из вещей) в столбец curr_cash,

Я хочу, чтобы это выглядело так:

Money : Date : Id1 (id of person) : Id2 (Id of thing)

Пример:

400 03-12-12 34 3
300 03-12-12 34 2
400 03-12-12 4 3

и так далее.

В настоящее время мой триггер состоит в том, чтобы суммировать все и связать это с человеком, который купил что-то... неудачная логика.

вот код моего триггера:

create trigger money after update on `things`
for each row
begin
SET @c1 = (SELECT sum(`thing_cost`) from `things`);
SET @c2 = (SELECT sum(`salary`) from `dude_base`);
UPDATE `current` SET `curr_cash` = @c1 * @c2 / 100
end;
$$

Мне нужно добавить что-то вроде этого вместо суммы:

WHERE id2 from things = id2 from current AND WHERE id1 from dude_base = is1 from current

Но мой синтаксис с треском провалился. Я работаю на MySQL на xampp (phpmyadmin).

Подводя итог, я должен знать, что чувак купил (точный идентификатор), и что вещь (точный идентификатор).

1 ответ

Решение

Вы можете сделать это с JOIN вот так:

UPDATE `current` c 
INNER JOIN things    t ON c.id2 = t.id2
INNER JOIN dude_base d ON d.id1 = c.is1
SET c.`curr_cash` = t.thing_cost * d.salary / 100;
Другие вопросы по тегам