Query con sqlite3

Ciao a tutti,

chissa se qualuno sa dirmi come ottenere contemporaneamente dati da due
diverse tabelle correlate, mi spiego semplificando:

SELECT A.nome B.sum(n), C.sum(n) from A,B,C where A.id=B.id AND
A.bid=C.bid

la query mi da risultati errati.
Grazie per ogni aiuto o riferimento.

Wladjmir W. wrote:

Ciao a tutti,

chissa se qualuno sa dirmi come ottenere contemporaneamente dati da due
diverse tabelle correlate, mi spiego semplificando:

SELECT A.nome B.sum(n), C.sum(n) from A,B,C where A.id=B.id AND
A.bid=C.bid

la query mi da risultati errati.
Grazie per ogni aiuto o riferimento.

non puoi fare select di sum insieme ad altri valori

devi fare una query di questo tipo

SELECT A.nome, tabB.totalb, tabC.totalc FROM A LEFT JOIN
(select sum(n) AS totalb FROM B GROUP BY id) AS tabB ON A.id = tabB.id
LEFT JOIN (select sum(n) AS totalc FROM C GROUP BY bid) AS tabC ON A.bid
= tabC.bid

Direi… però potrei essere ubriaco :stuck_out_tongue: è tanto che non scrivo sql a mano
:slight_smile:

Grazie, ho risolto, lo posto perché (per me) è una soluzione
interessante:

dati aggegati da join multiple

SELECT table1.name ,A.amount, B.amount FROM table1,
(SELECT foreign_id A_id, sum(n) amount FROM table2 GROUP BY foreign_id)
A,
(SELECT foreign_id B_id, sum(n) amount FROM table3 GROUP BY foreign_id)
B
WHERE
table1.id1=A_id AND table1.id2=B_id
GROUP BY
table1.name;

dove per esempio la table1 sono fornitori, la table2 sono le fatture e
la table3 sono i pagamenti
Ciao.

Wladjmir W. wrote:

Grazie, ho risolto, lo posto perché (per me) è una soluzione
interessante:

dati aggegati da join multiple

SELECT table1.name ,A.amount, B.amount FROM table1,
(SELECT foreign_id A_id, sum(n) amount FROM table2 GROUP BY foreign_id)
A,
(SELECT foreign_id B_id, sum(n) amount FROM table3 GROUP BY foreign_id)
B
WHERE
table1.id1=A_id AND table1.id2=B_id
GROUP BY
table1.name;

dove per esempio la table1 sono fornitori, la table2 sono le fatture e
la table3 sono i pagamenti
Ciao.

bhe è = a quello che ho postato io :slight_smile: vuol dire che un pò di sql lo
ricordo ancora :slight_smile:

infatti, grazie dell’aiuto, io conosco solo un pò di SQL elementare
Ciao