我有一个表(表一),其外键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')。感谢。
答案 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是获得更多信息的良好起点。