nelle JOIN capita a volte di non avere elementi univoci tra le due tabelle collegate
questo porta ad una relazione MOLTI a MOLTI e quindi dei duplicati e ripetizioni di righe

se si fanno delle somme queste verranno moltiplicate per ciascuna riga, creando sommatorie totali sbagliate e tabelle ripetitive

per risolvere la cosa si fa una JOIN tra due query SELECT che essendo GROUP BY tolgono i doppioni e rendono il campo di collegamento unico
abbiamo quindi alla fine una JOIN UNO a UNO

sintassi:
SELECT query pricipale aggregata

Query1.CAMPO1 AS TABELLA1CAMPO1,
Query2.CAMPO1 AS TABELLA2CAMPO1, posso mettere per primi i campi aggregati
Query1.CAMPO2 AS TABELLA1CAMPO2,
Query1.CAMPO3 AS TABELLA1CAMPO3,
Query2.CAMPO2 AS TABELLA2CAMPO2,
Query2.CAMPO3 AS TABELLA2CAMPO3


FROM
(
SELECT
TABELLA1.CAMPO1,
SUM(TABELLA1.CAMPO2) AS CAMPO2,
SUM(TABELLA1.CAMPO3) AS CAMPO3

FROM TABELLA1

GROUP BY TABELLA1.CAMPO1

) Query1 alias della query 1 (va indicato senza AS)


INNER JOIN
(
SELECT
TABELLA2.CAMPO1,
SUM(TABELLA2.CAMPO2) AS CAMPO2,
SUM(TABELLA2.CAMPO3) AS CAMPO3

FROM TABELLA2

GROUP BY TABELLA2.CAMPO1

) Query2 alias della query 2 (va indicato senza AS)


ON Query1.CAMPO1 = Query2.CAMPO1