Confronto dati 2 tabelle

di il
4 risposte

Confronto dati 2 tabelle

Ciao a tutti,

da alcuni giorni sono fermo con questo problema (mi servirebbe per access, ma anche per sql server va bene):

Tabella 1
codice
descrizione
data_mod

Tabella 2
codice
descrizione
data_mod

Le 2 tabelle alla partenza conterranno gli stessi dati, ma dal giorno dopo nella tabella 1 i record potranno subire delle modifiche che e verra aggiornata la data_mod con la data della modifica

vorrei schedulare una query che giornalmente mi confronti i dati delle 2 tabelle e nel caso in cui data_mod della tabella 1 siamo maggiore di data_mod della tabella 2 venga inserito nella tabella 2 in coda a tutti il record modificato. Questo mi permettera in seguito di verificare lo storico delle modifiche di quel determinato record.

Ciao a tutti e grazie

4 Risposte

  • Re: Confronto dati 2 tabelle

    Devi fare una SELECT impostando la condizione WHERE. Leggi qui:

    SQL WHERE Clause
    https://www.w3schools.com/sql/sql_where.as

    Ovviamente, la scrittura della query varia a seconda che tu usi Access o SQL Server.
  • Re: Confronto dati 2 tabelle

    Effettivamente non è una brutta idea, infatti ho fatto una cosa di questo genere
    
    SELECT 
    dbo_mas_Articoli.CodArt, 
    dbo_mas_Articoli.Descrizione,
    .....
    FROM 
    tbl_articoli_modificati 
    INNER JOIN 
    dbo_mas_Articoli ON tbl_articoli_modificati.codart = dbo_mas_Articoli.CodArt
    WHERE (((dbo_mas_Articoli.Datamod)<>[tbl_articoli_modificati].[datamod]));
    
    e questo è perfetto in quanto ad ogni variazione dei datamod mi carica l'articolo, l'unico problema è se nella tabella dbo_mas_Articoli inserisco un codice nuovo in questo caso non mi visualizza il nuovo record...

    penso mi manchi un pezzettino...
  • Re: Confronto dati 2 tabelle

    No fermi tutti... c'è un errore abbastanza serio...

    nella tabella tbl_articoli_modificati avrò più articoli con differenti data modifica, il fatto è che ogni volta che lancio la query lui dalla tabella madre mi copia il valore....

    dovrei sempre verificare la data dell'ultimo articolo inserito...
  • Re: Confronto dati 2 tabelle

    Ok.... allora forse questo problema è risolto....
    
    SELECT 
    dbo_mas_Articoli.CodArt, dbo_mas_Articoli.Descrizione, dbo_mas_Articoli.Descrizione2, 
    dbo_mas_Articoli.Descrizione3, dbo_mas_Articoli.Um_Uscita, dbo_mas_Articoli.Classe, dbo_mas_Articoli.Costo_Medio, dbo_mas_Articoli.Costo_Ultimo, dbo_mas_Articoli.Prezzo_Vendita, dbo_mas_Articoli.Datains, dbo_mas_Articoli.Datamod, dbo_mas_Articoli.UserIDIns, dbo_mas_Articoli.UserIDMod, dbo_mas_Articoli.EscludiDaF2
    FROM (
    SELECT tbl_articoli_modificati.codart, tbl_articoli_modificati.descrizione, Max(tbl_articoli_modificati.datamod) AS MaxData
    FROM tbl_articoli_modificati
    GROUP BY tbl_articoli_modificati.codart, tbl_articoli_modificati.descrizione)  AS tbl2 
    
    INNER JOIN dbo_mas_Articoli ON tbl2.codart = dbo_mas_Articoli.CodArt
    
    WHERE (dbo_mas_Articoli.datamod <> tbl2.MaxData)
    
    GROUP BY dbo_mas_Articoli.CodArt, dbo_mas_Articoli.Descrizione, dbo_mas_Articoli.Descrizione2, dbo_mas_Articoli.Descrizione3, dbo_mas_Articoli.Um_Uscita, dbo_mas_Articoli.Classe, dbo_mas_Articoli.Costo_Medio, dbo_mas_Articoli.Costo_Ultimo, dbo_mas_Articoli.Prezzo_Vendita, dbo_mas_Articoli.Datains, dbo_mas_Articoli.Datamod, dbo_mas_Articoli.UserIDIns, dbo_mas_Articoli.UserIDMod, dbo_mas_Articoli.EscludiDaF2
    
    mi manca solo il pezzettino in caso di inserimento in dbo_mas_articoli di un nuovo record.....
Devi accedere o registrarti per scrivere nel forum
4 risposte