选择所有列并使用外键ID添加额外列

时间:2015-12-30 09:25:35

标签: database postgresql

我有一个表(表一),其外键ID指向另一个表(表二)。我正在尝试选择表1中的所有列,还要根据特定的WHERE条件在表2中添加特定列。只是想知道如何在Postgres完成这个任务?例如,像我这样的东西就是我想要的,但是我不确定我应该使用的语法是什么:

select *, (second_table.name AS `name` FROM second_table WHERE first_table.id=second_table.id) FROM first_table

结构的基本示例:

表一: id,something1,something2

表二: id,name

我正在寻找的输出: id = x,name = x,something1 = x,something2 = x

我需要将列命名为'name'的原因是我可以将它直接反序列化为Golang结构(期望该列被命名为'name')。感谢。

1 个答案:

答案 0 :(得分:1)

您正在寻找的是JOIN SQL指令。让你前进的一个简单例子:

SELECT 
    one.id AS id,
    one.something1 AS something1,
    one.something2 AS something2,
    two.name AS name
FROM one
JOIN two ON one.id = two.id

关于关节的wikipedia article是获得更多信息的良好起点。