in caso di righe duplicate e quindi somme multiple si usa un trucco per sistemare la cosa
la cosa succede quando si fa un JOIN tra due tabelle utilizzando come ID dei campi non unici ma multipli
vanno quindi fatte due query SELECT una per ciascuna tabella e verificato se le somme sono corrette
va poi creata una query globale mettendo una query singola nel FROM tra () e poi un JOIN LEFT tra () l'altra query singola
va dato poi il parametro ON per indicare il campo da utilizzare come connessione
alla fine si fa una UNION (attento una UNION non UNION ALL per togliere i doppioni) per una query globale identica ma JOIN RIGHT

sintassi query togli doppioni:



SELECT
ALIAS1.`CAMPO COMUNE 1`,
IIF(ISNULL(ALIAS1.`Importo 1`),0,ALIAS1.`Importo 1`) as `Importo 1`,
IIF(ISNULL(ALIAS2.`Importo 2`),0,ALIAS2.`Importo 2`) as `Importo 2`


FROM
(SELECT
`TABELLA 1$`.`CAMPO COMUNE 1` AS `CAMPO COMUNE 1`,
SUM (`TABELLA 1$`.`Importo 1 (reporting ccy)`) AS `Importo 1`

FROM `TABELLA 1$`

WHERE `TABELLA 1$`.`CAMPO OPZIONE` = 'Yes'

GROUP BY `TABELLA 1$`.`CAMPO COMUNE 1`
) ALIAS1


LEFT OUTER JOIN
(SELECT
`TABELLA 2$`.`CAMPO COMUNE 1` AS `CAMPO COMUNE 2`,
SUM (`TABELLA 2$`.`Importo 1 (reporting ccy)`) AS `Importo 2`,

FROM `TABELLA 2$`

WHERE `TABELLA 2$`.`CAMPO OPZIONE` = 'Yes'

GROUP BY `TABELLA 2$`.`CAMPO COMUNE 1`
) ALIAS2


ON ALIAS1.`CAMPO COMUNE 1` = ALIAS2.`CAMPO COMUNE 2`


UNION (attento una UNION non UNION ALL per togliere i doppioni)


SELECT
ALIAS1.`CAMPO COMUNE 2`,
IIF(ISNULL(ALIAS1.`Importo 1`),0,ALIAS1.`Importo 1`) as `Importo 1`,
IIF(ISNULL(ALIAS2.`Importo 2`),0,ALIAS2.`Importo 2`) as `Importo 2`



FROM
(SELECT
`TABELLA 1$`.`CAMPO COMUNE 1` AS `CAMPO COMUNE 1`,
SUM (`TABELLA 1$`.`Importo 1 (reporting ccy)`) AS `Importo 1`,

FROM `TABELLA 1$`

WHERE `TABELLA 1$`.`CAMPO OPZIONE` = 'Yes'

GROUP BY `TABELLA 1$`.`CAMPO COMUNE 1`
) ALIAS1


RIGHT OUTER JOIN
(SELECT
`TABELLA 2$`.`CAMPO COMUNE 1` AS `CAMPO COMUNE 2`,
SUM (`TABELLA 2$`.`Importo 1 (reporting ccy)`) AS `Importo 2`

FROM `TABELLA 2$`

WHERE `TABELLA 2$`.`CAMPO OPZIONE` = 'Yes'

GROUP BY `TABELLA 2$`.`CAMPO COMUNE 1`
) ALIAS2


ON ALIAS1.`CAMPO COMUNE 1` = ALIAS2.`CAMPO COMUNE 2`