In sostanza la query che ho scritto è piuttosto complessa e serve per effettuare delle statistiche su dei dati, in sintesi fa questo:
somma i pasti per un cliente in una data, somma gli scarichi di magazzino per quel cliente in quella data e mette in relazione le 2 quantità
La relazione tra le 2 "viste" può essere vuota da un lato, quindi il mio approccio è il seguente:
Ho una query che mi calcola i pasti P, e una che mi calcola gli scarichi S, così lo pseudocodice diventa:
Codice: Seleziona tutto
select * from P left join S on P.cliente=S.cliente and P.data=S.data union
select * from S left join P on P.cliente=S.cliente and P.data=S.data
Un modo per ottimizzare la query è appunto una full join scritta così:
Codice: Seleziona tutto
select * from P inner join S on P.cliente=S.cliente and P.data=S.data