2010-06-02 57 views
1

我在本地Sqlite數據庫中有一對多的關係。很基本的東西。當我做我的左外連接我回來的結果是這樣的:處理w/Sqlite在遊標中加入結果

而產生光標有看起來像這樣的多行:

A1.id | A1.column1 | A1.column2 | B1.a_id_fk | B1.column1 | B1.column2 

A1.id | A1.column1 | A1.column2 | B2.a_id_fk | B2.column1 | B2.column2 

等等...

有處理這種結果的標準做法或方法?顯然只有A1,但它有許多B-n關係。我接近使用多個查詢而不是「關係數據庫方式」。希望我只是沒有意識到更好的做事方式。

我打算通過內容提供商公開此查詢,我恨所有的消費者必須編寫相同的聚合邏輯。

+0

你能發表你正在用於查詢的sql語句嗎? – m6tt 2010-06-02 16:02:00

回答

2

聯接已經在我曾經使用的每個SQL數據庫中以這種方式工作 - 這是有點概念的定義。

請記住,內容提供者涉及遠程過程調用,而這些調用非常昂貴。這就是爲什麼Android會將結果與聯繫人等聯合進行非結構化的原因之一,以最小化進程之間的往返行程。

您可以考慮使用遠程服務而不是內容提供程序,並公開自定義API。您可以通過簡單的List<>返回給定A的B。或者,你可以用JSON格式序列化整個事情。或者其他任何可能性,如果數據重複干擾你。