Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Перенести все данные в столбце из одной таблицы в другую  [new]
SDXFMX
Member

Откуда:
Сообщений: 3
Здравствуйте!
Необходимо перенести столбец "Discount" Из таблицы "fffck_dis" в таблицу "Clients"
Для этого использую вот такой запрос:

UPDATE "Clients"

SET "IDDefaultDiscount" = "discount"

FROM "fffck_dis"

На скриншоте во вложении видно,что запрос сработал..но не так как мне надо,он взял не весь столбец..а только первое поле и заполнил им весь столбец другой таблицы.
Как мне перенести весь столбец?


PS Соотвествий нет, надо просто все числа по порядку записать из таблицы с единственным столбцом в столбец второй таблицы

К сообщению приложен файл. Размер - 36Kb
15 фев 20, 09:14    [22080449]     Ответить | Цитировать Сообщить модератору
 Re: Перенести все данные в столбце из одной таблицы в другую  [new]
DSKalugin
Member

Откуда: Мать городов русских
Сообщений: 355
SDXFMX,

с такими скриншотами (где ни имён таблиц, ни структуры, ни имен столбцов не видно) ответа нет и не будет
17 фев 20, 18:06    [22081594]     Ответить | Цитировать Сообщить модератору
 Re: Перенести все данные в столбце из одной таблицы в другую  [new]
SDXFMX
Member

Откуда:
Сообщений: 3
DSKalugin,в коде настоящие имена стоблцов и таблиц которые нужно поменять
19 фев 20, 02:53    [22082666]     Ответить | Цитировать Сообщить модератору
 Re: Перенести все данные в столбце из одной таблицы в другую  [new]
nedba
Member

Откуда: СПб
Сообщений: 189
SDXFMX,

create table  "Clients" (id bigserial, val1 text,val2 text,val3 text,"IDDefaultDiscount" text, val4 text);
create table  "fffck_dis" (id bigserial, "discount" text);


//подготовка - заполняем "fffck_dis" _любыми_ данными
insert into "fffck_dis" ("discount") (select i::text from generate_series(5447908739,5447908799,7) i);
select * from "fffck_dis";

1	"5447908739"
2 "5447908746"
3 "5447908753"
4 "5447908760"
5 "5447908767"
6 "5447908774"
7 "5447908781"
8 "5447908788"
9 "5447908795"

//подготовка -  заполняем "Clients" _любыми_ данными
insert into "Clients" (val1) (select '' from generate_series(1,10) i);
select * from "Clients";

id	val1	val2	val3	IDDefaultDiscount	val4
1 " " "" "" "" ""
2 " " "" "" "" ""
3 " " "" "" "" ""
4 " " "" "" "" ""
5 " " "" "" "" ""
6 " " "" "" "" ""
7 " " "" "" "" ""
8 " " "" "" "" ""
9 " " "" "" "" ""
10 " " "" "" "" ""

update "Clients" set "IDDefaultDiscount"="discount"
from (select id, "discount" from "fffck_dis") as dis
where dis.id="Clients".id


UPDATE 9
Query returned successfully in 127 msec.

select * from "Clients";

10				""	
1 "5447908739"
2 "5447908746"
3 "5447908753"
4 "5447908760"
5 "5447908767"
6 "5447908774"
7 "5447908781"
8 "5447908788"
9 "5447908795"

Обратите внимание на строку с номером 10 - если связи нет - то и обновления не будет. |Перед выполнением рекомендую снять копию БД или хотябы таблиц которыми пользуетесь.
19 фев 20, 12:46    [22082913]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить