Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:一个光标行用于两个连接的表_Android_Sqlite_Android Cursor - Fatal编程技术网

Android:一个光标行用于两个连接的表

Android:一个光标行用于两个连接的表,android,sqlite,android-cursor,Android,Sqlite,Android Cursor,我有两张桌子,让我们称之为比赛和团队。比赛与球队有一对二的关系 火柴 _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 我的列表中的每个项目都包含时间、团队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
团队有

_id = INTEGER PRIMARY
name = TEXT NOT NULL
我的列表中的每个项目都包含时间、团队1\u名称和团队2\u名称。由光标填充。它看起来像这样:

现在,当我使用联接查询时:

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
有什么建议吗?
谢谢。

您需要进行多个联接并为列名别名:

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)

您需要进行多个联接并为列名命名:

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)
@Rotwang INNER也给了我两个rows@Rotwang内里也给了我两行