Autore Topic: tabelle correlate e JOIN in android  (Letto 700 volte)

Offline giuseppe500

  • Utente junior
  • **
  • Post: 110
  • Respect: 0
    • Mostra profilo
tabelle correlate e JOIN in android
« il: 22 Novembre 2013, 12:51:29 CET »
0
ciao.
Vorrei eseguire una query che coinvolge piu tabelle , con l'utilizzo dei join(innerjoin/outerjoin ecc...) come posso fare con sqlite?
ho provato un po il rawquery ma accetta solo una tabella come secondo parametro.
Esiste un metodo corretto per fare questo o non è contemplato in sqlite?

grazie.

iClaude

  • Visitatore
Re:tabelle correlate e JOIN in android
« Risposta #1 il: 27 Novembre 2013, 21:47:46 CET »
0
Il secondo parametro di rawQuery contiene i valori da sostituire ai ? della query, che va messa nel primo parametro (in pratica la tua query SELECT ecc. completa).
Sicuro di aver capito bene come funziona rawQuery?

Offline mirkus87

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Play Store ID:
    Mirko Vitiello
  • Sistema operativo:
    Windows 7
Re:tabelle correlate e JOIN in android
« Risposta #2 il: 28 Novembre 2013, 00:09:58 CET »
0
In genere faccio cosi'...

Codice (XML): [Seleziona]
String query = "SELECT TabellaA.campo1 'campo1', TabellaB.campo2 'campo2' FROM TabellaA LEFT JOIN TabellaB ON TabellaB.id = TabellaA.id";

Cursor cursor = this.getReadableDatabase().rawQuery(query, null);

// Scorri result Set
               
while (cursor.moveToNext()) {
    // fai quel che devi fare
}

// Chiudi cursore
cursor.close();

n.b. ovviamente ho utilizzato this.getReadableDatabase() all'interno della classe che estende SQLiteOpenHelper
« Ultima modifica: 28 Novembre 2013, 00:13:42 CET da mirkus87 »

iClaude

  • Visitatore
Re:tabelle correlate e JOIN in android
« Risposta #3 il: 28 Novembre 2013, 12:48:03 CET »
0
Prova a togliere quei nomi tra apici singoli...
In ogni caso SQLite non supporta alcuni tipi di outer joins, prova a consultare la DOC ufficiale.