作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个查询执行一些神奇的排序组连接,它在 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;
出于某种原因,加入不适用于 Android 2.1,但失败了
no such column: pj.channel_id
我认为这是因为 SQLite 已从 2.1 升级到 2.2,但是适用于这两个版本的正确 SQL 是什么?
最佳答案
解决方案很简单,我只需要删除别名“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
关于android - 如何在 Android 2.1 中使用 select in join 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4065648/
我是一名优秀的程序员,十分优秀!