IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   SQL: JOIN UPDATE (http://www.imho.ws/showthread.php?t=113976)

Hubbitus 22.01.2007 18:15

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 23.01.2007 02:51

Все, прошу всех прощения за неудобства, все разобрался, все нашел. Тему можно закрывать :)


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

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