+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Impossibile eliminare dalle tabelle specificate

  1. #1
    markusmn non è in linea Novello
    Ciao, ho due tabelle uguali. Stessi campi. Una ha 40000 record, l'altra ne ha 10000.

    Vorrei eliminare i 10000 record dalla tabella che ne ha 40000. Faccio una query di eliminazione con join 1 a 1 e compare il msg in oggetto.

    Se metto nella finestra proprietà "record univoci" = si, me ne elimina solo una parte (9000 circa) e non 10000. Cosa sbaglio?

    Grazie anticipatamente!!

  2. #2
    L'avatar di sspintux
    sspintux non è in linea Very Important Person Ultimo blog: SqlServer express e connessione DAC
    tieni presente che della tua query , delle tue tabelle, delle PK, eventuali FK,
    e quant'altro potrebbe utile per una risposta qui non se ne sa nulla se non ce lo dici tu ...
    ℹ️ Leggi di più su sspintux ...

  3. #3
    markusmn non è in linea Novello
    Quote Originariamente inviato da sspintux Visualizza il messaggio
    tieni presente che della tua query , delle tue tabelle, delle PK, eventuali FK,
    e quant'altro potrebbe utile per una risposta qui non se ne sa nulla se non ce lo dici tu ...
    Due tabelle uguali. Stessi identici campi. Alcuni testo alcuni numerici. Servono i nomi?
    Query di eliminazione con join 1 a 1 su tutti i campi per eliminare i record contenuti nella tabella piccola (10000 record) dalla tabella master (40000 campi).
    Mi aspetto cioè che nella tabella master ne restino 30000.
    Quali altri dettagli servono?

  4. #4
    Ci mostri la query?
    ℹ️ Leggi di più su AntonioG ...

  5. #5
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Nel wizard di generazione delle queries c'è l'opzione di ricerca duplicati:
    https://support.microsoft.com/it-it/...3-6b23c7d60fbb
    Questa query può essere usata poi come subquery di una query delete.
    Immagino tu abbia fatto questa verifica leggendo la guida...?
    Quote Originariamente inviato da markusmn Visualizza il messaggio
    ....
    Query di eliminazione con join 1 a 1 su tutti i campi per eliminare i record contenuti....
    Quali altri dettagli servono?
    Questa affermazione mi lascia molto perplesso... e mi lascia pensare non ci sia una PK... Macomer chiesto da Antonio, pubblica il codice SQL.
    ℹ️ Leggi di più su @Alex ...

  6. #6
    markusmn non è in linea Novello
    DELETE Tab_QAV.*
    FROM QAV_da_ripulire INNER JOIN Tab_QAV ON (QAV_da_ripulire.AnnoMese = Tab_QAV.AnnoMese) AND (QAV_da_ripulire.Livello = Tab_QAV.Livello) AND (QAV_da_ripulire.NDG = Tab_QAV.NDG) AND (QAV_da_ripulire.Rischio = Tab_QAV.Rischio) AND (QAV_da_ripulire.Tipo = Tab_QAV.Tipo) AND (QAV_da_ripulire.Data = Tab_QAV.Data) AND (QAV_da_ripulire.Ced = Tab_QAV.Ced) AND (QAV_da_ripulire.Abi = Tab_QAV.Abi);

  7. #7
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Se il confronto è su tutti i campi, crea un campo calcolato per concatenazione ed utilizza quello come criterio.
    ℹ️ Leggi di più su @Alex ...

  8. #8
    markusmn non è in linea Novello
    Ma non dovrebbe funzionare comunque?

  9. #9
    Phil_cattivocarattere non è in linea Topo di biblioteca
    Quote Originariamente inviato da sspintux Visualizza il messaggio
    tieni presente... delle PK, eventuali FK, ...
    Rinnovo quanto suggerito da sspintux, a porre l'attenzione (anche) sulla presenza di PK ed FK. Qualche campo delle due tabelle, in particolare della master, a questo punto, è chiave primaria (spero proprio di sì) con record collegati in altre tabelle? In questo caso se hai l'integrita referenziale attivata è proprio questa che ti impedisce di rendere "orfani" i record delle tabelle collegate alla principale. A meno che non sia presente la spunta su "Eliminazione record correlati a catena". Usare con molta cautela (e backup sempre)

    Poi, oltre alla query di cancellazione in senso stretto, pubblica anche al query sulla quale si appoggia tutto, QAV_da_ripulire

  10. #10
    markusmn non è in linea Novello
    Questa è la query che crea la tabella QAV_da_ripulire (quella dei 10.000 record che vorrei poi togliere dall'altra):
    SELECT Tab_QAV.Abi, Tab_QAV.Ced, Tab_QAV.NDG, Tab_QAV.Data, Tab_QAV.Tipo, Tab_QAV.Rischio, Tab_QAV.Livello, Tab_QAV.AnnoMese INTO QAV_da_ripulire
    FROM Tab_QAV INNER JOIN Tab_BSt ON (Tab_QAV.NDG = Tab_BSt.Ndg) AND (Tab_QAV.AnnoMese = Tab_BSt.Annomese) AND (Tab_QAV.Ced = Tab_BSt.Ced) AND (Tab_QAV.Abi = Tab_BSt.Abi)
    WHERE (((Tab_QAV.AnnoMese)="202108"));

    Indici solo in Tab_BSt (Abi, Ced, Proposta, DtVariazione, NDG. Nessuna integrità referenziale.

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Impossibile eliminare record
    Da Monti nel forum Delphi
    Risposte: 4
    Ultimo Post: 07-01-2018, 09:35
  2. Eliminare controllo dalle .pec in Microsoft Outlook 2007
    Da Giovannino60 nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 18-12-2017, 16:50
  3. impossibile eliminare dalle tabelle specificate..
    Da CESABAS nel forum Microsoft Access
    Risposte: 24
    Ultimo Post: 15-04-2015, 07:22
  4. Risposte: 12
    Ultimo Post: 18-10-2013, 13:56
  5. Impossibile eliminare record
    Da Kevin nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 12-01-2008, 18:24