Autore Topic: Query tra 2 tabelle  (Letto 343 volte)

Offline Carlos

  • Utente junior
  • **
  • Post: 74
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Zopo ZP1000
  • Play Store ID:
    Giovanni Miceli
  • Sistema operativo:
    Windows 8
Query tra 2 tabelle
« il: 28 Maggio 2011, 14:19:06 CEST »
0
Ciao ragazzi, mi sapete dire cosa sto sbagliando ?

Devo fare una query tra 2 tabelle

Codice (Java): [Seleziona]
String Table = Tabella1.TABLE_NAME + " inner join " + Tabella2.TABLE_NAME;
String Where = Tabella2.CODICE + "=" + Tabella1.CODICE;
               
Cursor cursor = database.query(Table, new String[] {
Tabella1.NOME }, Where, null, null, null, null);

Quello che voglio ottenere è il NOME presente nella tabella1 (facendo un WHERE sul CODICE)

Offline Gigiuz

  • Utente normale
  • ***
  • Post: 187
  • Respect: +23
    • Google+
    • gigiuzzo81
    • Gigiuz81
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note III
  • Play Store ID:
    GGXSoft
  • Sistema operativo:
    Windows 7 64bit, OS X (virtualized), Ubuntu
Re:Query tra 2 tabelle
« Risposta #1 il: 28 Maggio 2011, 17:26:47 CEST »
0
Dovresti postare qualcosina di più, soprattutto per quanto riguarda la struttura del tuo database...

Comunque, se vuoi usare la funzione di inner join devi necessariamente ricorrere ad una rawQuery() perché il metodo SQLiteDatabase.query() permette di effettuare una query esclusivamente su una sola tabella. Ci sarebbe comunque l'opzione di strutturare il database diversamente, presupponendo che ci sia una colonna di "join" lì dove sussiste l'entità MOLTI-A-UNO. Passiamo agli esempi (avviso, non li ho testati perché al momento non ne ho la possibilità).

Opzione 1 - Uso di Inner Join

Codice (Java): [Seleziona]
String sql = "SELECT ? FROM ? INNER JOIN ? ON ? = ?";

String[] args = new String[] {Tabella1.NOME, Tabella1.TABLE_NAME, Tabella2.TABLE_NAME, Tabella2.CODICE, Tabella1.CODICE}

Cursor cursor = database.rawQuery(sql, args);

Opzione 2 - Strutturazione tabelle

Beh... dipende da quello che devi fare col database e come :) Per una risposta più esaustiva dovresti però postare la tua struttura attuale e le query che il database deve normalmente effettuare...
Hai bisogno di implementare un sistema di "codici seriali di sblocco" nella tua applicazione? Dai un'occhiata alla mia libreria: RemoteUnlocker