Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
Имеется две таблицы \d oplats Таблица "public.oplats" Колонка | Тип | Модификаторы ------------+------------------+----------------------------------------------------- id_opl | integer | not null default nextval('oplats_id_opl_seq'::text) sum_opl | double precision | date_opl | date | where_prin | text | id | integer | Индексы: "oplats_pkey" ключевое поле, btree (id_opl) clients=# \d dolgs Таблица "public.dolgs" Колонка | Тип | Модификаторы -----------+------------------+----------------------------------------------------- id_dolg | integer | not null default nextval('dolgs_id_dolg_seq'::text) dolg | double precision | date_dolg | date | id | integer | Индексы: "dolgs_pkey" ключевое поле, btree (id_dolg) Требуется в конце месяца обновлять таблицу dolgs,суммируя все оплаты для каждого id и обновлять соответствующие строки таблицы dolgs (с совпадающими полями id)? Можно ли обойтись простым SQL запросом UPDATE ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 13:47 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
авторМожно ли обойтись простым SQL запросом UPDATE ...? А зачем? напиши процедурку, которая в цикле будет делать update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 15:48 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
Имеется две таблицы \d oplats Таблица "public.oplats" Колонка | Тип | Модификаторы ------------+------------------+----------------------------------------------------- id_opl | integer | not null default nextval('oplats_id_opl_seq'::text) sum_opl | double precision | date_opl | date | where_prin | text | id | integer | Индексы: "oplats_pkey" ключевое поле, btree (id_opl) clients=# \d dolgs Таблица "public.dolgs" Колонка | Тип | Модификаторы -----------+------------------+----------------------------------------------------- id_dolg | integer | not null default nextval('dolgs_id_dolg_seq'::text) dolg | double precision | date_dolg | date | id | integer | Индексы: "dolgs_pkey" ключевое поле, btree (id_dolg) Требуется в конце месяца обновлять таблицу dolgs,суммируя все оплаты для каждого id и обновлять соответствующие строки таблицы dolgs (с совпадающими полями id)? Можно ли обойтись простым SQL запросом UPDATE ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 18:36 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
postt Вопрос не относится к проектированию БД. Переносится в Ваш любимый PostgreSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 19:02 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
Удалите тогда одну из одинаковых тем.Я уже сам перенес сюда.:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 19:25 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 01:11 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
еще есть замечательная вещь типа update .. from .. where подробности в доках. гораздо мощьнее чем способ: update t2 set balance=( select sum(payment) from t1 where t1.id=t2.id ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 10:19 |
|
||
|
Сложный UPDATE
|
|||
|---|---|---|---|
|
#18+
Вроде бы можно. Команда будет выглядеть приметно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. При этом, если в таблице oplats есть id, которых нет в dolgs, то они не будут добавлены. Это нужно сделать отдельной командой insert. Ну и индексов бы еще не помешало добавить, например по датам и по id. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2006, 13:38 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33713959&tid=2006409]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 482ms |

| 0 / 0 |
