Alexos
Новичок
Как одним запросом проапдейтить кол-во товаров в разделах?
Есть 2 таблицы:
Таблица разделов, где count_parts - это как раз поле кол-ва товаров в разделе:
[SQL]
CREATE TABLE `parts_groups` (
`id` int(11) unsigned NOT NULL auto_increment,
`part_name` varchar(255) NOT NULL default '',
`count_parts` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
)
[/SQL]
Таблица связей между товарами и разделами:
[SQL]
CREATE TABLE `links` (
`parts_groups_id` int(11) unsigned NOT NULL default '0',
`item_id` int(11) unsigned NOT NULL default '0'
)
[/SQL]
Чтобы проапдейтить кол-во товаров в разделах пытаюсь выполнить след. запрос:
[SQL]
UPDATE parts_groups SET count_parts = (SELECT count(a.id)
FROM parts_groups as a, links as b
WHERE a.id=b.parts_groups_id
GROUP BY a.id)
[/SQL]
Ответ MySQL:
#1093 - You can't specify target table 'parts_groups' for update in FROM clause
Помогите написать/разобраться в запросе. Работал всё время на 3-й Муське
Никогда не писал вложенных запросов.
Есть 2 таблицы:
Таблица разделов, где count_parts - это как раз поле кол-ва товаров в разделе:
[SQL]
CREATE TABLE `parts_groups` (
`id` int(11) unsigned NOT NULL auto_increment,
`part_name` varchar(255) NOT NULL default '',
`count_parts` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
)
[/SQL]
Таблица связей между товарами и разделами:
[SQL]
CREATE TABLE `links` (
`parts_groups_id` int(11) unsigned NOT NULL default '0',
`item_id` int(11) unsigned NOT NULL default '0'
)
[/SQL]
Чтобы проапдейтить кол-во товаров в разделах пытаюсь выполнить след. запрос:
[SQL]
UPDATE parts_groups SET count_parts = (SELECT count(a.id)
FROM parts_groups as a, links as b
WHERE a.id=b.parts_groups_id
GROUP BY a.id)
[/SQL]
Ответ MySQL:
#1093 - You can't specify target table 'parts_groups' for update in FROM clause
Помогите написать/разобраться в запросе. Работал всё время на 3-й Муське
Никогда не писал вложенных запросов.