SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.06.2009 20:04:07

drug
Участник
Зарегистрирован: 10.06.2009
Сообщений: 4

Помогите с сложным запросом

Добрый день, что-то я совсем запутался и уже сомневаюсь в возможности такого запроса.
У меня 3 зависимые таблицы. Данные надо поменять одновременно в 2-х при определенных условиях.

Вот пример:
Таблица_1
id        gid
64       18

Таблица_2
group_id     aro_id
18               12

Таблица_3
aro_id          value
12                64


Надо создать запрос, для замены значений gid с '18' на '31' в Таблице_1, где id=64 и (вот далее я окончательно запутался) group_id в Таблице_2 с '18' на '31' где aro_id (Таблица_2)  = (aro_id (Taблица_3) и value = 64 (как id в Таблице_1)). 
Я надеюсь, что мою  писанину можно понять))

Неактивен

 

#2 17.06.2009 20:19:13

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Помогите с сложным запросом

Как-то у Вас очень странно организованы данные; кажется, что «круговая зависимость» совсем лишняя:
t3.value однозначно получается по связям из t1.id...

В любом случае:

UPDATE t1, t2, t3
SET t1.gid = 31, t2.group_id = 31
WHERE t2.group_id = t1.gid AND t3.aro_id = t2.aro_id AND t1.id = t3.value AND t1.gid = 18

Неактивен

 

#3 17.06.2009 22:14:43

drug
Участник
Зарегистрирован: 10.06.2009
Сообщений: 4

Re: Помогите с сложным запросом

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

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson