2017-03-29 59 views
0

我有一個主表和另外兩個表。如何進行合併加入

dict_country:ID
user_country_ticket:COUNTRY_ID,票
country_ticket:COUNTRY_ID,票

此選擇:

select self.id, ct.ticket, uct.ticket 
from country self 
left join user_country_ticket uct on uct.country_id = self.id 
left join country_ticket ct on ct.country_id = self.id 

返回
ID,票,票
66,3,2

我想只加入一個勾號等。
從user_country_ticket如果有票在該表中,
否則機票必須從country_ticket被加入,
否則車票爲空

所以選擇必須返回
ID,票
66,3

回答

0

你可以使用coalesce:

select self.id, coalesce(ct.ticket,uct.ticket) 
from country self 
left join user_country_ticket uct on uct.country_id = self.id 
left join country_ticket ct on ct.country_id = self.id 
+0

很酷,謝謝!只有它是postgresql中的合併函數。 – wevu

+0

我明白了。雖然沒有看到,但你理解邏輯。乾杯。 – maSTAShuFu