代码之家  ›  专栏  ›  技术社区  ›  theJuls

对两个表进行并集,但重命名postgres中可能同名的列并删除其他列

  •  0
  • theJuls  · 技术社区  · 6 年前

    我正在对两个具有相同列名的表进行联合。所以,假设它们看起来像这样:

    table1
    =========
    _id
    fk_id
    name
    details
    createdAt
    updatedAt
    
    table2
    =========
    _id
    fk_id
    name
    age
    details
    createdAt
    updatedAt
    

    以下是我目前正在做的事情:

    SELECT * FROM "table1"
        JOIN table2
        ON table1."fk_id"=table2."fk_id";
    

    1-表格2的列 name 和 details ,我想重命名为 t1_name 和 t2_details 分别地

    _id , fk_id , createdAt 和 updatedAt

    1 回复  |  直到 6 年前
        1
  •  1
  •   GMB    6 年前

    只需枚举要保留的列,并根据需要为它们命名:

    select
        t1._id,
        t1.fk_id,
        t1.name t1_name,
        t1.details t1_details,
        t1.createdAt,
        t1.updatedAt,
        t2.name t2_name,
        t2.age,
        t2.details t2_details
    from table1 t1
    inner join table2 t2 on t1.fk_id = t2.fk_id
    
    推荐文章