Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Update+select / 10 сообщений из 10, страница 1 из 1
18.01.2016, 14:03
    #39149629
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
Помогите нубу с запросом, выдает что должен использоваться обновляемый запрос.
Как исправить?
Код: sql
1.
2.
UPDATE Списки SET Списки.region
  (select SPROTD.region from SPROTD, Списки where SPROTD.UPR='1' and SPROTD.UPR_Otd=Списки.OTD)
...
Рейтинг: 0 / 0
18.01.2016, 14:34
    #39149690
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
noobsПомогите нубу с запросом, выдает что должен использоваться обновляемый запрос.
Как исправить?
Код: sql
1.
2.
UPDATE Списки SET Списки.region
  (select SPROTD.region from SPROTD, Списки where SPROTD.UPR='1' and SPROTD.UPR_Otd=Списки.OTD)


Все было бы предельно просто:
Код: sql
1.
2.
3.
UPDATE Списки SET Списки.region =
  (select SPROTD.region from SPROTD, Списки where SPROTD.UPR='1' and SPROTD.UPR_Otd=Списки.OTD)
from Списки


если быть уверенным, что (select SPROTD.region from SPROTD, Списки where SPROTD.UPR='1' and SPROTD.UPR_Otd=Списки.OTD)
возвращвет единственную запись, иначе, результат, скорее всего, непредсказуем
...
Рейтинг: 0 / 0
18.01.2016, 14:36
    #39149692
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
Запрос может возвращать несколько записей
...
Рейтинг: 0 / 0
18.01.2016, 14:39
    #39149700
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
noobsЗапрос может возвращать несколько записей
Значит, использовать групповую операцию, которая оставит одну запись. Например, MAX().
Ещё разумнее - составить многотабличный запрос на обновление. Можно мастером.
...
Рейтинг: 0 / 0
18.01.2016, 14:53
    #39149730
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
AkinanoobsЗапрос может возвращать несколько записей
Значит, использовать групповую операцию, которая оставит одну запись. Например, MAX().
Ещё разумнее - составить многотабличный запрос на обновление. Можно мастером.
... или добавить в запрос точный фильтр
...
Рейтинг: 0 / 0
18.01.2016, 15:02
    #39149739
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
И как же обновить 1000-и записей регионов с различными управлениями в таблице списки из справочника SPROTD?
...
Рейтинг: 0 / 0
18.01.2016, 15:43
    #39149785
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
Может, так?
Код: sql
1.
 UPDATE Списки INNER JOIN SPROTD ON SPROTD.UPR_Otd=Списки.OTD SET Списки.region = SPROTD.region WHERE SPROTD.UPR='1'
...
Рейтинг: 0 / 0
18.01.2016, 16:10
    #39149834
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
noobsИ как же обновить 1000-и записей регионов с различными управлениями в таблице списки из справочника SPROTD?
Никак не обновлять - разаработать нормально базу данных, не придется и обновлять
...
Рейтинг: 0 / 0
19.01.2016, 05:52
    #39150235
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
Rivkin Dmitry,

Разработать нормальную базу конечно было бы хорошо, но мне не дали на это прав
...
Рейтинг: 0 / 0
19.01.2016, 06:22
    #39150243
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update+select
__Michelle,

Спасибо, так все работает
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Update+select / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]