imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 22.01.2007, 17:15     # 1
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
SQL: JOIN UPDATE

Здравствуйте.

Мне "не хватает" оператора "UPDATE JOIN".
Подскажите, как правильнее сделать:
Пусть есть таблица Table1:
Код:
Table1:
id | value
1  | 5
2  | 7
3  | 10
Также есть таблица дельт, на которые нужно изменить столбец value, ID - foreign key к Table1:
Код:
TableDelta:
ID | Delta
1  | 1
2  | -3
3  | 5
Хотелось бы так одним запросом обновить Table1, чтобы прибавились соответствующие значения и получилось соответственно:
Код:
Table1:
id | value
1  | 6
2  | 4
3  | 15
Пока вижу только вариант с коррелирующими подзапросами на каждую строку в запросе:
Код:
UPDATE Table1 t1
SET value = value + (SELECT SUM(Delta) From TableDelta td WHERE td.ID = t1.ID)
Но в данном случае будет на каждую строку подзапрос. Объединение по двум индексированным полям должно быть на порядок быстрее и легче для сервера...

Есть мысли как это сделать элегантнее?
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 23.01.2007, 01:51     # 2
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Все, прошу всех прощения за неудобства, все разобрался, все нашел. Тему можно закрывать
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 08:28.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.