Update+select

noobs
Дата: 18.01.2016 14:03:36
Помогите нубу с запросом, выдает что должен использоваться обновляемый запрос.
Как исправить?
UPDATE Списки SET Списки.region
  (select SPROTD.region from SPROTD, Списки where SPROTD.UPR='1' and SPROTD.UPR_Otd=Списки.OTD)
Rivkin Dmitry
Дата: 18.01.2016 14:34:21
noobs
Помогите нубу с запросом, выдает что должен использоваться обновляемый запрос.
Как исправить?
UPDATE Списки SET Списки.region
  (select SPROTD.region from SPROTD, Списки where SPROTD.UPR='1' and SPROTD.UPR_Otd=Списки.OTD)

Все было бы предельно просто:
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)
возвращвет единственную запись, иначе, результат, скорее всего, непредсказуем
noobs
Дата: 18.01.2016 14:36:26
Запрос может возвращать несколько записей
Akina
Дата: 18.01.2016 14:39:11
noobs
Запрос может возвращать несколько записей

Значит, использовать групповую операцию, которая оставит одну запись. Например, MAX().
Ещё разумнее - составить многотабличный запрос на обновление. Можно мастером.
Rivkin Dmitry
Дата: 18.01.2016 14:53:16
Akina
noobs
Запрос может возвращать несколько записей

Значит, использовать групповую операцию, которая оставит одну запись. Например, MAX().
Ещё разумнее - составить многотабличный запрос на обновление. Можно мастером.

... или добавить в запрос точный фильтр
noobs
Дата: 18.01.2016 15:02:12
И как же обновить 1000-и записей регионов с различными управлениями в таблице списки из справочника SPROTD?
__Michelle
Дата: 18.01.2016 15:43:05
Может, так?
 UPDATE Списки INNER JOIN SPROTD ON SPROTD.UPR_Otd=Списки.OTD SET Списки.region = SPROTD.region WHERE SPROTD.UPR='1'
Rivkin Dmitry
Дата: 18.01.2016 16:10:09
noobs
И как же обновить 1000-и записей регионов с различными управлениями в таблице списки из справочника SPROTD?

Никак не обновлять - разаработать нормально базу данных, не придется и обновлять
noobs
Дата: 19.01.2016 05:52:51
Rivkin Dmitry,

Разработать нормальную базу конечно было бы хорошо, но мне не дали на это прав
noobs
Дата: 19.01.2016 06:22:56
__Michelle,

Спасибо, так все работает