SELECT F.Filiale, V.Cognome, Count(O.NrOrdine) AS Conteggio_ordini, Sum(O.Valore) AS Valore_totale
FROM (Venditori AS V
LEFT JOIN Ordini AS O
ON V.ID=O.IdVenditore)
INNER JOIN Filiali AS F
ON V.IdFiliale=F.ID
GROUP BY F.Filiale, V.Cognome, F.Area
HAVING F.Area="Nord"
ORDER BY Sum(O.Valore) DESC;
SELECT SQ.Filiale, SQ.Cognome, Count(O.NrOrdine) AS Conteggio_ordini, Sum(O.Valore) AS Valore_totale, SQ.Area
FROM Ordini AS O
RIGHT JOIN
(
SELECT V.ID, F.Filiale, V.Cognome, F.Area
FROM Venditori AS V
LEFT JOIN Filiali AS F
ON V.IdFiliale=F.ID
) AS SQ
ON O.IdVenditore=SQ.ID
GROUP BY SQ.Filiale, SQ.Cognome, SQ.Area
HAVING SQ.Area="Nord"
ORDER BY Sum(O.Valore) DESC;