Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703

    delete record doppi sqlserver

    ciao a tutti, avrei un problema; vi spiego:

    definizione scheda tabelle in allegato..
    il problema è il seguente:

    nella tabella principale sono contenuti i dati:

    codice:
    idpo   tonum       toese        todesc
    1	15024     	2010      	test     
    3	15024     	2010      	test     
    4	15060     	2012      	LOVER     
    5	15060     	2012      	LOVER     
    6	15060     	2012      	LOVER     
    7	13020     	2009      	OBELL
    nella tabella esterna:
    codice:
    idpo          desc
    1	       TST       
    5	       TST2      
    7	       TST3
    ora, devo eliminare dalla tabella principale i record doppi; non tenendo conto dell'idpo(chiave). Infine devo ragionare sulla tabella esterna andando ad eliminare sulla tb_principale le revisioni che non servono, ex. tonum->15024 andrò ad eliminare la riga con idpo 3 perchè quest'ultima è sia un doppione e non rientra tra i codici attivi della tabella esterna.
    Mi sono riuscito a spiegare?? mi date una mano? pensavo di utilizzare una tabella temporanea d'ppoggio, ma già all'inserimeno dei record doppi sono in difficoltà..ho fatto così:

    codice:
    /*fill tabella temp*/
    insert into #tb_principaleTEMP
    select 
    	--idpo,
    	to_num,
    	to_ese,
    	to_desc 
    from tb_principale
    group by
    	--idpo,
    	to_num,
    	to_ese,
    	to_desc
    having COUNT(*) > 1
    il problema è che senza l'idpo poi non posso fare i ragionamenti sulla tabella esterna..grazie

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Perchè dici che non devi tenere conto dell'idpo della tabella principale ?

    Potrebbe essere

    delete from tabella_principale where idpo not in (select idpo from tabella_esterna)

    ma non so se il tuo esempio sia completo e quindi se non vi siano poi altre cose di cui tenere conto...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    il problema che il delete sulla tabella principale devo farlo solo se:

    - sono doppioni:
    - i doppioni non sono contenuti nella tabella esterna.


    idee?grazie!!!

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Originariamente inviato da cleaner
    il problema che il delete sulla tabella principale devo farlo solo se:

    - sono doppioni:
    - i doppioni non sono contenuti nella tabella esterna.


    idee?grazie!!!
    Appunto, è quello che dal tuo esempio non si capisce...

    Ci possono essere righe "singole" nella tabella principale che NON sono contenute nella secondaria (e che quindi non dovrei cancellare) ?

    Ci possono essere doppioni nella principale in cui NESSUNO dei due (o più) record è presente anche nella secondaria (e che quindi non dovrei cancellare) ?

    Nel tuo esempio ci sono due doppioni (1,3 e 4,5,6) in cui uno degli id è richiamato nella secondaria e vi è una riga singola (la 7) che è pure contenuta nella secondaria

    Se esegui la mia query sul tuo esempio di principale cancelli proprio i record 3,4 e 6 che soddisfano entrambe le tue condizioni

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 © 2026 vBulletin Solutions, Inc. All rights reserved.