gpt4 book ai didi

android - 如何在 Android 2.1 中使用 select in join 子句?

转载 作者:行者123 更新时间:2023-11-29 14:09:54 24 4
gpt4 key购买 nike

我有一个查询执行一些神奇的排序组连接,它在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com