如何联接两个表并创建新列?

时间:2018-09-02 22:32:56

标签: postgresql

使用PostgreSQL 10.4。

我正在尝试联接两个表并创建一个新的Array字段,该字段将保存某些查询的结果。

表A:

- id
- image
- difficulty
- answers (this is the new array field to create)

表B:

- id (foreign key that references table a's id)
- name

我想将表B的答案数组的匹配ID的表B的“名称”字段放入。我怎样才能完成这个/以及通过什么查询?

edit:我知道如何做一个JOIN。我在问创建一个新列的方式,该列在执行JOIN时将保存一个值数组?

2 个答案:

答案 0 :(得分:0)

Select * from A, B where A.id = B.id

答案 1 :(得分:0)

如果我理解正确,则需要标准(AKA内部)连接 它只会显示表a和表b中都存在ID的记录

SELECT a.id,
       a.image,
       a.difficulty,
       a.answers,
       b.name
FROM   a
       JOIN b
           ON a.id - b.id

或者,左连接将显示a中的所有记录,而b中没有匹配id值的记录将为空

 SELECT a.id,
        a.image,
        a.difficulty,
        a.answers,
        b.name
  FROM  a
        LEFT JOIN b
            ON a.id - b.id

从提供的信息中很难说出您需要哪一个,但我认为这就是您想要的