Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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 2.1中使用selects in join子句?_Android_Sqlite_Greatest N Per Group - Fatal编程技术网

如何在Android 2.1中使用selects in join子句?

如何在Android 2.1中使用selects in join子句?,android,sqlite,greatest-n-per-group,Android,Sqlite,Greatest N Per Group,我有一个查询,它对加入组进行了神奇的排序,在Android 2.2(froyo)版本的SQLite上运行良好: SELECT channels.*, p.* FROM channels LEFT JOIN programs p ON channels._id = p.channel_id JOIN (select p2.channel_id, max(p2.airdate) max_air FROM programs p2 GROUP BY p2.channel_id) pj O

我有一个查询,它对加入组进行了神奇的排序,在Android 2.2(froyo)版本的SQLite上运行良好:

SELECT channels.*, p.*
FROM channels 
LEFT JOIN programs p ON channels._id = p.channel_id
JOIN (select p2.channel_id, max(p2.airdate) max_air FROM programs p2 
      GROUP BY p2.channel_id) pj
ON pj.channel_id = p.channel_id AND pj.max_air = p.airdate
ORDER BY channels.channel_index asc;
出于某种原因,加入不适用于Android2.1,但适用于

no such column: pj.channel_id

我想这是因为SQLite已经从2.1升级到了2.2,但是什么样的SQL才是适合这两个版本的呢?

解决方案很简单,我只需要去掉别名“p”:


解决方案很简单,我只需要去掉别名“p”:

SELECT channels.*, programs.*
FROM channels
LEFT JOIN programs ON channels._id = programs.channel_id
JOIN (select p2.channel_id channel_id, max(p2.airdate) max_air FROM programs p2
      GROUP BY p2.channel_id) pj
ON pj.channel_id = programs.channel_id AND pj.max_air = programs.airdate