Sto lavorando a un piccolo progetto personale per tracciare le mie spese e mi sono bloccato su una cosa che sembra banale. Ho una tabella per le transazioni e una per le categorie, ma quando provo a fare una query per vedere il totale speso per categoria, mi ritrovo con righe duplicate per alcune voci. Ho controllato e non sono duplicati veri nei dati, penso sia un problema con come ho strutturato la join. Qualcuno ha mai avuto un'esperienza simile con una query che restituisce risultati duplicati inaspettati? Non so se il problema sia la mia logica o qualcosa di più sottile riguardo all'integrità referenziale.
|
Come risolvere duplicati in una query con join tra transazioni e categorie?
|
|
Capisco la frustrazione, a volte una join fa comparire duplicati anche se i dati sono ok.
Spesso i duplicati escono quando tra transazioni e categorie la join moltiplica righe per una categoria associata piu di una volta o quando la chiave non e unica.
Qualcuno potrebbe pensare che sia questione di integrita referenziale ma potrebbe essere davvero la logica di raggruppamento che genera doppioni durante la join della somma per categoria.
Non dare subito la colpa al database, la join potrebbe essere la causa ma anche una condizione di join mancante o dati non normalizzati.
Prova a riscrivere la query immaginando che i dati debbano restare una riga per categoria e verifica dove la join ti rimanda a piu righe.
Un idea piu ampia e considerare un aggregazione iniziale su transazioni prima di applicare la join oppure usare una vista che normalizza le associazioni prima della somma e della join.
|
|
« Precedente | Successivo »
|

