我花了很多時間在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