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

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

假设我有下表:

  1. |---------------------|
  2. | id |
  3. |---------------------|
  4. | 12 |
  5. |---------------------|
  6. | 390 |
  7. |---------------------|
  8. | 13 |
  9. |---------------------|

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

  1. 12 -> qwert
  2. 13 -> asd
  3. 390 -> iop

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

  1. |---------------------|---------------------|
  2. | id | col |
  3. |---------------------|---------------------|
  4. | 12 | qwert |
  5. |---------------------|---------------------|
  6. | 390 | iop |
  7. |---------------------|---------------------|
  8. | 13 | asd |
  9. |---------------------|---------------------|

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

xurqigkl

xurqigkl1#

似乎您希望“修复”postgresql数据库中已有的一些数据。
您可以使用此技术包含数据:

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

你可以作为一个 UPDATE 声明,但它变得棘手。制作一个 SELECT 语句,然后使用 CREATE TABLE new_table AS SELECT... 请参阅:create table as-amazon redshift

相关问题