Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.01.2007, 07:47
|
|||
|---|---|---|---|
|
|||
update insert |
|||
|
#18+
Добрый день! такой вопрос Имеется таблица.заполняю поля insert into res1 (Наимен_страны ,Количество ,Ст_тыс_долл_США) (select c.small_name, sum(t.g31b), sum(t.g46) from country c, temp2 t where t.g15_17=any(select cntkod from countrygroupdef where groupkod=vr_groupkod) and t.g15_17=c.id and char (t.g33a,4)=vr_g33a_4 group by c.small_name); Как сделать update если сам запрос select sum(t.g31b), sum(t.g46) from country c, temp2 t where t.g15_17=any(select cntkod from countrygroupdef where groupkod=14) and t.g15_17=c.id and char(t.g33a,4)='8703' group by c.small_name возвращает три строки ? update res1 set(Количествo ,Сt_тыс_долл_США)= (select sum(t.g31b), sum(t.g46) from country c, temp2 t where t.g15_17=any(select cntkod from countrygroupdef where groupkod=14) and t.g15_17=c.id and char(t.g33a,4)='8703' group by c.small_name); sqlcode : -811 sqlstate : 21000 Результат скалярной полной выборки, оператора SELECT INTO или оператора VALUES INTO - больше одной строки таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.01.2007, 11:04
|
|||
|---|---|---|---|
|
|||
update insert |
|||
|
#18+
Добрый день. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2007, 07:49
|
|||
|---|---|---|---|
|
|||
update insert |
|||
|
#18+
Спасибо ! а может быть можно попробовать что-то вроде такого: update res1 set(Количествo ,Сt_тыс_долл_США)= (select sum(t.g31b), sum(t.g46) from country c, temp2 t where t.g15_17=any (select cntkod from countrygroupdef where groupkod=14) and t.g15_17=c.id and char(t.g33a,4)='8703' group by c.small_name fetch first 1 row only where c.small_name=r.small_name); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2007, 13:02
|
|||
|---|---|---|---|
|
|||
update insert |
|||
|
#18+
В таком виде - точно не надо. А чем вам 1-й вариант не понравился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2007, 07:32
|
|||
|---|---|---|---|
|
|||
update insert |
|||
|
#18+
Не совсем понятно зачем здесь использовать where exists и еще такой вопрос обновление идет всего поля (Количествo ,Сt_тыс_долл_США) а как можно сделать чтобы обновлялись только определенные значения в этих полях (у меня это все в цикле работает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.01.2007, 10:51
|
|||
|---|---|---|---|
|
|||
update insert |
|||
|
#18+
Тимур БНе совсем понятно зачем здесь использовать where exists Вы написали, что сабселект возвращает 3 строки (т.е. для 3-х разных small_name). Если в таблице res1 есть отличные small_name от тех 3-х, которые вернет сабселект, то такой update без exists присвоит полям (Наимен_страны ,Количество ,Ст_тыс_долл_США) для этих small_name значения NULL. Если это то, что вам надо, то exists можно не использовать. Тимур Би еще такой вопрос обновление идет всего поля (Количествo ,Сt_тыс_долл_США) а как можно сделать чтобы обновлялись только определенные значения в этих полях (у меня это все в цикле работает)Вопрос не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&mobile=1&tid=1604849]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 490ms |

| 0 / 0 |
