Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / update from select обновляет первой строки списка / 5 сообщений из 5, страница 1 из 1
22.09.2015, 15:29
    #39058495
alleo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update from select обновляет первой строки списка
Добрый день.

Есть таблица:
Код: sql
1.
2.
baseuserprofile:
id, ..., ...


и таблица:
Код: sql
1.
2.
userprofile
baseuserprofile_id, ..., ...


Мне нужно обновить таблицу userprofile.baseuserpofile_id значениями из таблицы baseuserprofile.id.
Я пробовал так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
UPDATE 
  userprofile 
SET 
  baseuserprofile_id = b.id
FROM (
  SELECT 
    id 
  FROM 
    baseuserprofile
) AS b;


Но обновляется только значением из первой записи таблицы baseuserprofile.
...
Рейтинг: 0 / 0
22.09.2015, 18:14
    #39058729
tadmin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update from select обновляет первой строки списка
Вы условие where забыли. Например:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
UPDATE 
  userprofile as u
SET 
  baseuserprofile_id = b.id
FROM 
    baseuserprofile as b
where b.id  = u.id;
...
Рейтинг: 0 / 0
22.09.2015, 18:44
    #39058760
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update from select обновляет первой строки списка
tadmin,

да не, там не забыли. там вообще смысл не ночевал.

думаю, по row_number() хочется, но не можется. а шары хрустальные запотели у всех.
...
Рейтинг: 0 / 0
22.09.2015, 20:06
    #39058818
alleo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update from select обновляет первой строки списка
tadminВы условие where забыли. Например:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
UPDATE 
  userprofile as u
SET 
  baseuserprofile_id = b.id
FROM 
    baseuserprofile as b
where b.id  = u.id;



Спасибо, получилось. Сделал так:

Код: plsql
1.
2.
3.
4.
5.
UPDATE accounts_userprofile SET baseuserprofile_ptr_id = b.id
FROM (
  SELECT id, user_id FROM accounts_baseuserprofile
) b
WHERE b.user_id = accounts_userprofile.user_id;
...
Рейтинг: 0 / 0
22.09.2015, 20:09
    #39058822
alleo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update from select обновляет первой строки списка
qwwqtadmin,

да не, там не забыли. там вообще смысл не ночевал.

думаю, по row_number() хочется, но не можется. а шары хрустальные запотели у всех.

Вы телепат, именно это мне было и нужно, только нумерация по строкам из другой таблицы.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / update from select обновляет первой строки списка / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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