Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / update одной таблицы значениями другой / 8 сообщений из 8, страница 1 из 1
05.11.2008, 17:35
    #35635725
xtron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
Подскажите пожалуйста какой должен быть синтаксис у команды заменяющей поля в первой таблице полями во второй таблице в случае совпадения ключей в этих таблицах ?

create table a1(id int, value int);
create table a2(id int, value int);

для mysql такое прокатывает:
update a1, a2 set a1.value = a2.value where a1.id = a2.id;

как это же сделать для postgresql ???
...
Рейтинг: 0 / 0
05.11.2008, 17:41
    #35635750
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
update ... from
?
...
Рейтинг: 0 / 0
05.11.2008, 17:59
    #35635810
xtron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
st_serg, спасибо не знал про from в postgresql !

очень странно только что такое работает:
update a1 set value = a2.value from a2 where a1.id = a2.id;

а вот такое нет:
update a1 set a1.value = a2.value from a2 where a1.id = a2.id;
...
Рейтинг: 0 / 0
05.11.2008, 20:00
    #35636055
ss25
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
a1.value такого столбца нет вы ж ясно написали какой хотите обновить
...
Рейтинг: 0 / 0
05.11.2008, 20:20
    #35636081
xtron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
ss25a1.value такого столбца нет вы ж ясно написали какой хотите обновить
как это нет ? в таблице a1 есть столбец value те a1.value
...
Рейтинг: 0 / 0
06.11.2008, 09:49
    #35636594
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
xtronst_serg, спасибо не знал про from в postgresql !

очень странно только что такое работает:
update a1 set value = a2.value from a2 where a1.id = a2.id;

а вот такое нет:
update a1 set a1.value = a2.value from a2 where a1.id = a2.id;
из доки на UPDATE
[quot]
column
The name of a column in table. The column name can be qualified with a subfield name or array subscript, if needed. Do not include the table's name in the specification of a target column — for example, UPDATE tab SET tab.col = 1 is invalid.
[/quot]
...
Рейтинг: 0 / 0
06.11.2008, 12:32
    #35637228
xtron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
st_serg
из доки на UPDATE

Да нет я понял что оно работает именно так, но мне кажется что это скорее задокументированная нелогичная не доработка :(
...
Рейтинг: 0 / 0
06.11.2008, 13:04
    #35637326
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
update одной таблицы значениями другой
xtronst_serg
из доки на UPDATE

Да нет я понял что оно работает именно так, но мне кажется что это скорее задокументированная нелогичная не доработка :(гм. когда апдейт в ПЖ будет реализован на джойны (кросс, иннер, аутер и т.п...), тогда это и будет "недоработкой"....

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


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