2010-07-19 6 views
23

Sto cercando di trovare il modo migliore per fare un semplice join di tabelle sulle mie due tabelle utilizzando un database SQLite in un'applicazione Android. È il modo più semplice per usare CursorJoiner o esiste un modo più semplice?Il modo migliore per unire le tabelle utilizzando sqlite in Android

+0

Meglio farlo in SQL. Crea un [VIEW] (http://www.sqlite.org/lang_createview.html) con le necessarie [JOIN] (http://www.sqlite.org/lang_select.html) s. – yanchenko

+0

Ho provato a farlo ma ho avuto problemi a far riconoscere il mio progetto per qualche motivo. –

+1

http://stackoverflow.com/a/4957197/334270 –

risposta

27

Nell'attuazione del SQLiteDatabase e SQLiteQueryBuilder vedrete che è possibile superare le tabelle si desidera partecipare alla table argomento query anche se la documentazione implica ci vorranno solo un singolo nome di una tabella. La documentazione per SQLiteQueryBuilder è più chiara e suggerisce anche cose come foo, bar o foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id).

+2

i collegamenti sono interrotti – ytg

1

Se siete disposti a utilizzare una libreria di terze parti, mi consiglia di utilizzare attivo Android

https://github.com/pardom/ActiveAndroid

usarlo è possibile unire le tabelle come questo

From query = new Select() 
    .from(Foo.class) 
    .innerJoin(Bar.class) 
    .on("Foo.Id=Bar.Id"); 

si può anche ottenere un cursore da utilizzare nei caricatori

Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments()); 

maggiori dettagli here

Problemi correlati