2016-11-25 8 views
0

私は2つのテーブルを持っています。マッチはチームと1対2の関係にあります。Android:2つの結合テーブルの1つのカーソル行

試合は

_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 

チームは私のリストの各項目は、時間、TEAM1_NAMEとTEAM2_NAMEが含まれてい

_id = INTEGER PRIMARY 
name = TEXT NOT NULL 

を持っていました。カーソルが挿入されます。それは、このようなものになります。私は結合を使用する場合今

List Item Image

をクエリ:

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

は、私は何を達成しようとしていることである:私は、次のカーソルの結果を受け取る

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

カーソルの2つの列に2つのチーム名を持っていて、別々の行ではなく、アダプターのビューにマップします。

_id time team1 team2 
42  6:00 Barca Man City 

どのようにすればいいですか?おかげさまで あなたが複数の操作を行う必要があります

+0

@Rotwang ** INNERは**また、私に2つの行を提供します –

答えて

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) 
関連する問題