Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2017
    Messaggi
    20

    duplicazione anomala record nel report

    Ciao ragazzi, non riesco a uscirne da questo problema, in pratica dovendo creare un report di circa 300 record, mi si ripetono moltissime volte gli stessi record con le stesse informazioni. suppongo che io abbia sbagliato a scegliere l'origine dati del report:

    codice:
    SELECT CONTA.CODICE_FISCALE, DIPENDENTE.COGNOME, DIPENDENTE.NOME, CONTA.TIPO_COMPENSO, COMPENSO.DESCRIZIONE, CONTA.IMPONIBILE_PREV, CONTA.CONTRIB_DIP, CONTA.CONTRIB_AMM, CONTA.IMPONIBILE_FC, CONTA.RITENUTE_FC, CONTA.IMPONIBILE_IRPEF_AC, CONTA.IRPEF_AC, CONTA.IMPONIBILE_IRAP, CONTA.RITENUTE_IRAP FROM COMPENSO INNER JOIN (DIPENDENTE INNER JOIN CONTA ON DIPENDENTE.CODICE_FISCALE = CONTA.CODICE_FISCALE) ON COMPENSO.TIPO_COMPENSO = CONTA.TIPO_COMPENSO;
    adesso vi spiego.. come potete vedere, praticamente quasi tutti i campi provengono dalla tabella CONTA. i campi NOME e COGNOME provengono dalla tabella DIPENDENTE che è collegata alla tabella CONTA tramite il campo CODICE_FISCALE. quindi forse l'inner join che mi ha fatto automaticamente access è sbagliato? mentre per quanto riguarda il campo DESCRIZIONE, quello è preso dalla tabella COMPENSO che ha un campo TIPO_COMPENSO presente anche nella tabella CONTA. questo è tutto, forse access mi ha scritto il codice sql sbagliato e quindi per questo mi si duplicano i record con le stesse info?

  2. #2
    intanto impariamo a formattare il codice per bene, così si capisce un po' di più

    codice:
    SELECT conta.codice_fiscale, 
           dipendente.cognome, 
           dipendente.nome, 
           conta.tipo_compenso, 
           compenso.descrizione, 
           conta.imponibile_prev, 
           conta.contrib_dip, 
           conta.contrib_amm, 
           conta.imponibile_fc, 
           conta.ritenute_fc, 
           conta.imponibile_irpef_ac, 
           conta.irpef_ac, 
           conta.imponibile_irap, 
           conta.ritenute_irap 
    FROM   compenso 
           INNER JOIN (dipendente 
                       INNER JOIN conta 
                               ON dipendente.codice_fiscale = conta.codice_fiscale) 
                   ON compenso.tipo_compenso = conta.tipo_compenso;

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2017
    Messaggi
    20
    Quote Originariamente inviata da optime Visualizza il messaggio
    intanto impariamo a formattare il codice per bene, così si capisce un po' di più

    codice:
    SELECT conta.codice_fiscale, 
           dipendente.cognome, 
           dipendente.nome, 
           conta.tipo_compenso, 
           compenso.descrizione, 
           conta.imponibile_prev, 
           conta.contrib_dip, 
           conta.contrib_amm, 
           conta.imponibile_fc, 
           conta.ritenute_fc, 
           conta.imponibile_irpef_ac, 
           conta.irpef_ac, 
           conta.imponibile_irap, 
           conta.ritenute_irap 
    FROM   compenso 
           INNER JOIN (dipendente 
                       INNER JOIN conta 
                               ON dipendente.codice_fiscale = conta.codice_fiscale) 
                   ON compenso.tipo_compenso = conta.tipo_compenso;
    vero scusa

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2017
    Messaggi
    20
    la query è evidentemente sbagliata. mi aiuti a rimetterla apposto?

  5. #5
    dipende da come sono fatte le tabelle. ad esempio, se in compenso hai i compensi mensili del dipendente (ipotizzo, visto che non hai fornito dettagli) il nome del dipendente verrà ripetuto tante volte quanti sono i compensi registrati.

    quindi:
    1. descrivi bene le tue tabelle
    2. descrivi bene cosa vuoi fare
    3. descrivi bene cosa hai in input
    4. descrivi bene cosa vuoi in output

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.