Come risolvere duplicati in una query con join tra transazioni e categorie?
#1
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.
Cita messaggio
#2
Capisco la frustrazione, a volte una join fa comparire duplicati anche se i dati sono ok.
Cita messaggio
#3
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.
Cita messaggio
#4
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.
Cita messaggio
#5
Non dare subito la colpa al database, la join potrebbe essere la causa ma anche una condizione di join mancante o dati non normalizzati.
Cita messaggio
#6
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.
Cita messaggio
#7
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.
Cita messaggio


Risposta rapida
Messaggio
Scrivi qui il tuo messaggio.

Verifica Immagine
Per favore inserisci il testo contenuto nell'immagine nella casella di testo sotto ad essa. Questa operazione è necessaria per prevenire gli spam bot automatici.
Verifica Immagine
(maiuscole indifferenti)

Vai al forum: