alex77
Новичок
вложенный запрос
Здравствуйте.
есть таблица area с полями pid, aid, mid, position:
+------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+----------------+
| pid | bigint(20) unsigned | | | 0 | |
| aid | int(10) unsigned | | | 0 | |
| mid | int(10) unsigned | | | 0 | |
| position | int(10) unsigned | | | 0 | |
+------------+---------------------+------+-----+---------+----------------+
mysql 4.0.12-nt
как сделать такой запрос:
уменьшить на 1 все position если position > чем position у mid = 4 и при этом у них одинаковые pid и aid.
делал так, но не работает (
update area a set position = position - 1 where position > (select position from area where mid = 4 and a.pid = pid and a.aid = aid);
Здравствуйте.
есть таблица area с полями pid, aid, mid, position:
+------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+----------------+
| pid | bigint(20) unsigned | | | 0 | |
| aid | int(10) unsigned | | | 0 | |
| mid | int(10) unsigned | | | 0 | |
| position | int(10) unsigned | | | 0 | |
+------------+---------------------+------+-----+---------+----------------+
mysql 4.0.12-nt
как сделать такой запрос:
уменьшить на 1 все position если position > чем position у mid = 4 и при этом у них одинаковые pid и aid.
делал так, но не работает (
update area a set position = position - 1 where position > (select position from area where mid = 4 and a.pid = pid and a.aid = aid);