基于红移中另一列的值创建列

relj7zay  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(442)

假设我有下表:

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

我想在Map的基础上创建另一个列 id 列,例如:

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

所以我基本上需要一个查询来创建一个基于该Map的列,我的最终表是:

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

我在python字典里有这个Map。
这可能吗?
(基本上是 pandas.map )

xurqigkl

xurqigkl1#

似乎您希望“修复”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... 请参阅:create table as-amazon redshift

相关问题