2015-03-31 45 views
0

我有連接表的問題,這裏的情況是:如何連接這兩個表(創建多語言界面)

表1(國家):ID,名稱

表2(countries_lng): ID,orig_id,名稱,lng_id

orig_id是countries.id的外鍵

我需要的是創建一個SQL查詢,將顯示來自國家行併爲它們分配ID爲1,從countries_lng它將從表格中顯示正確的lng_id。

有沒有可能?

現在我無法將表中的所有數據移動到各自的_lng表中,因此我正在尋找這個臨時解決方案。

在此先感謝。

國家:它的樣子現在我怎麼想它看起來像

//編輯

例 ID:1,名稱:CESKA共和國

countries_lng: ID:1,orig_id:1,名稱:捷克,lng_id:2

結果:

ID:1,名稱: CESKA共和國,lng_id:1

ID:1,名稱:捷克,lng_id:2

+0

爲了誰downvoted這樣的:如果你downvote東西,它可以公平地寫爲什麼。 – 2015-03-31 15:14:02

回答

1

你可以使用UNION加盟結果。

例如:

select id, name 
from countries 
where id_lang=1 
union 
select id, name 
from countries_lang 
where id_lang=1 

結果:

id name 
1 Česká republika 
1 Czech republic 

如果你需要列lng_id則必須添加此列國表(帶任何默認值):

select id, name, lng_id 
from countries 
-- where lng_id=1 
union 
select id, name, lng_id 
from countries_lang 
-- where lng_id=1 

或在國家模擬此列:

select id, name, 1 as lng_id 
from countries 
union 
select id, name, lng_id 
from countries_lang 

結果:

id name lng_id 
1 Česká republika 1 
1 Czech republic 2