Autore Topic: Query SQLite diverse tabelle  (Letto 405 volte)

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Query SQLite diverse tabelle
« il: 06 Marzo 2014, 16:59:44 CET »
0
Ho una query con un LEFT JOIN tra due tabelle e tutto funziona correttamente e visualizzo i dati in una ListView.

Ma ora ho bisogno di recuperare i dati da un'altra tabella, quindi dovrei combinare queste due query. Mi sono bloccato. Mi potete aiutare? grazie
Codice: [Seleziona]
String sql1 ="SELECT c._id, c.field1, c.field2, c.field3, SUM(g.field01), SUM(g.field02), g.field03 " +
    "FROM Table1 c LEFT JOIN Table2 g ON (c.field1  =  g.field03) GROUP BY c.field1";

String sql ="SELECT _id, riserva_1, riserva_2, SUM(riserva_3) FROM riserva  GROUP BY riserva_2";

in pratica
Codice: [Seleziona]
riserva_1 è uguale a
Codice: [Seleziona]
(c.field1  =  g.field03)
« Ultima modifica: 06 Marzo 2014, 23:38:15 CET da C_G »

Offline ciccio

  • Utente junior
  • **
  • Post: 65
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Francesco Cervone
  • Sistema operativo:
    Mac OS X 10.9
Re:Query SQLite diverse tabelle
« Risposta #1 il: 06 Marzo 2014, 21:36:29 CET »
0
Mettiamo che la prima query ti restituisce un certo insieme A e la seconda query un insieme B. Ogni elemento dell'insieme A è identificato da c.field1/g.field03 ed ogni elemento dell'insieme B da riserva_1 (che sono la stessa cosa). Cosa vuoi tirar fuori dalla query?

  • A unito B
  • A intersecato B
  • A left join B
  • A right join B
  • A full join B

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Re:Query SQLite diverse tabelle
« Risposta #2 il: 06 Marzo 2014, 22:28:22 CET »
0
Devo tirar fuori tutti i dati delle query e visualizzarli nella listview, è che non sò quale Join utilizzare per ottenere questo.

Offline mirkus87

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Play Store ID:
    Mirko Vitiello
  • Sistema operativo:
    Windows 7
Re:Query SQLite diverse tabelle
« Risposta #3 il: 06 Marzo 2014, 23:20:59 CET »
0
E' possibile effettuare relazioni con piu' tabelle nella stessa query. Ovviamente devi fare attenzione ad eventuali relazioni 1 : N 

Codice: [Seleziona]
String sql1 ="SELECT c._id, c.field1, c.field2, c.field3, SUM(g.field01), SUM(g.field02), g.field03 , SUM(riserva_3)" +
"FROM Table1 c LEFT JOIN Table2 g ON (c.field1  =  g.field03)  LEFT JOIN riserva r ON (c.field1 = r.riserva_1) GROUP BY c.field1";

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Re:Query SQLite diverse tabelle
« Risposta #4 il: 06 Marzo 2014, 23:36:07 CET »
0
Provo ma ho notato di aver fatto un errore nel postare la query della tabella riserva;

cioè con la query riserva devo fare il GROUP BY del campo riserva_2

Offline ciccio

  • Utente junior
  • **
  • Post: 65
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Francesco Cervone
  • Sistema operativo:
    Mac OS X 10.9
Re:Query SQLite diverse tabelle
« Risposta #5 il: 07 Marzo 2014, 06:41:37 CET »
0
Se fai group by riserva_2 i dati non sono compatibili, non puoi metterli nella stessa query perché hai detto che field1 è lo stesso di riserva_1.

Inviato dal mio Nexus 7 utilizzando Tapatalk