2016-11-25 15 views
0

我有2個表,我們稱它們爲匹配和團隊。比賽與球隊有一對二的關係。Android:一個光標行連接2個表

比賽有

_id = INTEGER PRIMARY 
time = TEXT NOT NULL 
team1_id = TEXT NOT NULL //references a team record 
team2_id = TEXT NOT NULL //references a team record 

團隊

_id = INTEGER PRIMARY 
name = TEXT NOT NULL 

我的列表中的每個項目都包含時間,TEAM1_NAME和TEAM2_NAME。由光標填充。它看起來是這樣的:

List Item Image

現在,當我使用連接查詢:

Select match._id, time, team.name 
From match LEFT JOIN team 
ON (team._id = match.team1_id OR team._id = match.team2_id) 

我收到以下游標結果:

_id time name 
42  6:00 Barca 
42  6:00 Man City 

我所試圖實現的是在光標的兩列中有兩個團隊名稱,而不是單獨的行,以便將其與適配器的視圖進行映射,即:

_id time team1 team2 
42  6:00 Barca Man City 

有關如何解決這個問題的任何提示? 謝謝。

+0

@Rotwang ** ** INNER也給了我兩行 –

回答

2

你需要做多個聯接和別名列名:

SELECT match._id, 
     time, 
     t1.name AS team1_name, 
     t2.name AS team2_name 
    FROM match 
    LEFT JOIN team AS t1 ON (t1._id = match.team1_id) 
    LEFT JOIN team AS t2 ON (t2._id = match.team2_id)