powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать триггер с JOIN?
5 сообщений из 5, страница 1 из 1
Как сделать триггер с JOIN?
    #39134736
vkcode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Таблица №1 - ассортимент товаров: Assortment.
Поля: id - № (первичный ключ), cost - стоимость.

Таблица №2 - список товаров: Goods.
Поля: id - № (первичный ключ), assortment - № ассортимента, category - № категории.

Таблица №3 - статистика размещения товаров по категориям: Stats.
Поля: id - № категории (первичный ключ), count - кол-во добавленных записей, sum - сумма стоимостей.

Имеется триггер:
Код: sql
1.
DROP TRIGGER IF EXISTS `Статистика`;CREATE DEFINER=`root`@`localhost` TRIGGER `Статистика` AFTER INSERT ON `Goods` FOR EACH ROW INSERT INTO `Stats` SET `count` = 1, `id` = NEW.category ON DUPLICATE KEY UPDATE `count` = `count` + 1 


Который при добавлении строки в таблицу Goods увеличивает в таблице Stats счетчик количества товаров в определенной категории.

Необходимо доработать данный триггер, что бы он ещё в поле sum считал сумму всех добавленных стоимостей товаров. Для этого необходимо объединение в самом триггере с таблицей Assortment для получения стоимости товара. Подскажите, как правильно это сделать?

PS: необходимо сделать без вложенных запросов, так как в последующем необходимо будет не только поле cost доставать но и другие по которым тоже делать суммирование в счетчик.
...
Рейтинг: 0 / 0
Как сделать триггер с JOIN?
    #39134782
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да хоть бы и влоб...
Код: sql
1.
2.
3.
4.
INSERT INTO `Stats` SET `count` = 1, `id` = NEW.category 
ON DUPLICATE KEY 
UPDATE `count` = `count` + 1,
`sum` = `sum` + (SELECT cost FROM Assortment WHERE id = NEW.Assortment)
...
Рейтинг: 0 / 0
Как сделать триггер с JOIN?
    #39134783
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А контроль целостности - за свой счёт...
...
Рейтинг: 0 / 0
Как сделать триггер с JOIN?
    #39134810
vkcode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А без вложенного запроса это возможно сделать?
...
Рейтинг: 0 / 0
Как сделать триггер с JOIN?
    #39134826
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT работает только с одной таблицей. И наличие у него довеска ON DUPLICATE KEY UPDATE ничего в этом смысле не меняет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать триггер с JOIN?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]