2015-12-30 73 views
0

我有一個表(表一),其外鍵ID指向另一個表(表二)。我試圖選擇表1中的所有列,但還要根據特定的WHERE條件添加表2中的特定列。只是想知道如何在Postgres中實現這一點?例如,這樣的事情是什麼我打算去,但我不知道我應該使用適當的語法:選擇所有列並使用外鍵添加額外的列ID

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

結構的一個基本的例子:

表一個: ID,something1,something2

表二: ID,名稱

我在尋找的輸出: id = x,name = x,something1 = x,something2 = x

我需要列名爲'name'的原因是我可以直接將它反序列化爲一個Golang結構體(它期望列被命名爲'name')。謝謝。

回答

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約jointures是一個很好的起點,以獲得更多信息。

+0

謝謝,我會給它一個閱讀。感謝你的幫助。 – b0xxed1n