Создать столбец на основе значений другого столбца в красном смещении - PullRequest
0 голосов
/ 28 мая 2020

Предположим, у меня есть следующая таблица:

|---------------------|
|          id         |
|---------------------|
|          12         |
|---------------------|
|         390         |
|---------------------|
|          13         |
|---------------------|

И я хочу создать другой столбец на основе карты столбца id, например:

12 -> qwert
13 -> asd
390 -> iop

Итак В основном мне нужен запрос для создания столбца на основе этой карты, моя окончательная таблица будет:

|---------------------|---------------------|
|          id         |          col        |
|---------------------|---------------------|
|          12         |          qwert      |
|---------------------|---------------------|
|         390         |          iop        |
|---------------------|---------------------|
|          13         |          asd        |
|---------------------|---------------------|

У меня есть эта карта в словаре python.

Возможно ли это?

(Это в основном pandas.map)

1 Ответ

1 голос
/ 29 мая 2020

Похоже, вы хотите sh «исправить» некоторые данные, которые уже есть в вашей PostgreSQL базе данных.

Вы можете включить данные, используя этот метод:

WITH foo AS (VALUES (12, 'qwert'), (13, 'asd'), (390, 'iop'))
SELECT table.id, foo.column2
FROM table
JOIN foo ON (foo.column1 = table.id)

Вы можете сделать это как UPDATE оператор, но это сложно. Вероятно, было бы проще создать оператор SELECT, в котором есть все, что вы хотите, а затем использовать CREATE TABLE new_table AS SELECT...

См .: СОЗДАТЬ ТАБЛИЦУ КАК - Amazon Redshift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...