我花了很多时间在android中搜索此查询的分辨率。Android SQLite语法 - IN子句和子选择
SELECT * FROM positionen WHERE _id IN (SELECT positionenid FROM fahrtenbuch_position WHERE fahrtenbuchid = 2)
我认为我的方式是错误的。在rawQuerys和普通查询中都没有android中的子查询?任何人都可以把我推向某个方向吗?我如何获得带有其他ID的_id?
我花了很多时间在android中搜索此查询的分辨率。Android SQLite语法 - IN子句和子选择
SELECT * FROM positionen WHERE _id IN (SELECT positionenid FROM fahrtenbuch_position WHERE fahrtenbuchid = 2)
我认为我的方式是错误的。在rawQuerys和普通查询中都没有android中的子查询?任何人都可以把我推向某个方向吗?我如何获得带有其他ID的_id?
我没有玩过android的sqllite,但我有一种感觉,这可能适用于你。而不是:
SELECT * FROM positionen WHERE _id IN (SELECT positionenid FROM fahrtenbuch_position WHERE fahrtenbuchid = 2)
尝试
SELECT * FROM positionen p inner join fahrtenbuch_position f on p._id=f.fahrtenbuch_position where fahrtenbuchid = 2
如果您想了解什么,我只是做了,这样说的:http://en.wikipedia.org/wiki/Inner_join#Inner_join
是的,它的工作原理! :D我尝试了内部联接之前,但我有一个错误。但为什么另一个不工作?那个与“IN”。 – user753654 2011-05-14 14:33:06
我不知道为什么子选择(带“in”的那个)不起作用 - 我对android sqllite数据库的细节知之甚少,但内连接应该更有效率 – Travis 2011-05-14 23:11:04
它必须工作。你确定_id是否真的在子选择子句中? – pawelzieba 2011-05-14 14:16:12