2013-10-01 111 views
0

我在Android的SQLite數據庫,其實體關係圖如下工作: Database diagram查詢「脫節」的Android SQLite數據庫

我想要做的就是查詢和光標返回vehicle_implement表中的所有列和左側的所有表,通過圖中所示的外鍵連接。在vehicle_implement中有一些null的implements_ids,我仍然想要這些行。沒有,也不會有任何空的vehicle_id。我認爲當implements_id爲null時,可能無法從實現表的左側返回任何內容,這會阻止我獲取所需的所有列和行。

我認爲這不會很難做到使用臨時表,但我試圖用queryBuilder來做到這一點。如果我仍然可以將查詢中的遊標的查詢返回到前端數據庫的內容提供者,我可以在不使用queryBuilder的情況下執行此操作。

在此先感謝。

+0

查找[外連接(http://en.wikipedia.org/wiki/Join_(SQL)#Outer_join)。 –

+0

我熟悉外連接。我認爲QuerbyBuilder在可接受查詢的格式方面比實際情況更受約束。一位同事想出了一個解決方案,我會發布它。學到的一個教訓是嘗試獲得一個解決方案而不是假設約束,嘗試一下,並讓結果表明是否存在約束和約束。 – hBrent

回答

0

vehicle_implement
LEFT JOIN vehicle ON vehicle_implement.vehicle_id = vehicle._id
LEFT JOIN implement ON vehicle_implement.implement_id = implement._id
LEFT JOIN vehicle_model ON vehicle.vehicle_model_id = vehicle_model._id
LEFT JOIN vehicle_type ON vehicle_model.vehicle_type_id = vehicle_type._id
LEFT JOIN implement_model ON implement.implement_model_id = implement_model._id
LEFT JOIN implement_type ON implement_model.implement_type_id = implement_type._id
LEFT JOIN operation_implement_type ON implement_type._id = operation_implement_type.implement_type_id
LEFT JOIN operation ON operation_implement_type.operation_id = operation._id