Sto basando la maggior parte di questo solo cercando di ottenere la risposta "giusta", quindi potresti scoprire che ci sono alcuni problemi di prestazioni. Non serve accelerare una query errata.
Comprendi le relazioni tra le tabelle : la maggior parte sarà una a molte. Conosci la tabella "molti". Identifica i campi richiesti per i tuoi join.
Pensa agli scenari di join LEFT : seleziona tutti i dipendenti e il loro stipendio dal mese scorso. E se non avessero ricevuto uno stipendio il mese scorso?
Conosci il set di risultati: 1) In un foglio di lavoro, inserisci manualmente almeno un record corretto per la tua query. 2) Scrivi la query in un formato abbastanza semplice per identificare quanti record devono essere restituiti. Utilizza entrambi per testare la tua query per assicurarti che l'adesione a una nuova tabella non altera il risultato.
Suddividi la tua query in parti gestibili - Non devi scrivere tutto in una volta. Le query complesse a volte possono essere solo una raccolta di query semplici.
Attenzione ai livelli di aggregazione misti : se devi inserire valori mensili, trimestrali e annuali nello stesso set di risultati, dovrai calcolarli separatamente nelle query raggruppate in valori diversi.
Sapere quando UNION A volte è più facile suddividere sottogruppi nelle proprie istruzioni selezionate. Se si dispone di una tabella mista a manager e altri dipendenti e in ogni colonna si devono eseguire istruzioni caso basate sull'appartenenza a uno di questi gruppi, potrebbe essere più semplice scrivere una query Manager e unione a una query Employee. Ognuno conterrebbe la propria logica. Dovendo includere elementi da tabelle diverse in file diverse è ovvio.
Formule complesse / nidificate - Prova a rientrare in modo coerente e non aver paura di utilizzare più righe. "CASO QUANDO CASO QUANDO CASO QUANDO" ti farà impazzire. Prenditi il tempo per pensarci. Salva i calcoli complessi per ultimo. Prendi prima i record corretti selezionati. Quindi attacchi formule complesse sapendo che stai lavorando con i giusti valori. La visualizzazione dei valori utilizzati nelle formule ti aiuterà a individuare le aree in cui devi tenere conto dei valori NULL e dove gestire l'errore di divisione per zero.
Prova spesso quando aggiungi nuove tabelle per assicurarti di ottenere sempre il set di risultati desiderato e sapere quale è il colpevole o il join.