Supprimer plusieurs enregistrements et remplacer par un seul

Supprimer plusieurs enregistrements et remplacer par un seul - SQL/NoSQL - Programmation

Marsh Posté le 15-06-2014 à 18:40:54    

Bonjour,
 
Est-il possible de supprimer plusieurs enregistrements dans une table après avoir fait un "résumé". Et insérer cet enregistrement "résumé" dans cette même table. Par exemple je veux faire:
1)

Code :
  1. INSERT INTO T1 SELECT nombre , id1, id2, Min( convert( col1 , char( 8 ) ) ) , Min( convert( col2 , char( 8 ) ) ) , Min( convert( col3 , char( 8 ) ) ) FROM T2 GROUP BY id1


2)

Code :
  1. delete from T1 where id1 IN(select...)


 
Donc si je groupe n lignes en une ligne L. Je supprime les n lignes puis j'insère L à la place.
Et je veux tout ça en une commande. Est ce possible?
 
Je suis sous MySQL
 
 
Merci infiniment.

Reply

Marsh Posté le 15-06-2014 à 18:40:54   

Reply

Marsh Posté le 16-06-2014 à 09:47:28    

Tu parles de même table, et de résumé... par contre dans ta première requête, tu as deux tables? c'est normal?
ton group by  marche ? nombre et id2 sont des constantes?
tu n'as pas des clé en double avec ton insert?
 
Tu veux ça en une seule commande?  
Est ce que tu as potassé un peu les fonctionnalités, les possibilités SQL?  
SQL n'est pas un "truc" que tu secoues en disant abracadabra et hop tu as le résultat....
C'est de la "programmation"...
 
Par contre, si tu te crées une fonction ou une procédure qui te fais ces 2 actions (oui)
 
Fais gaffe à ton delete:)
Il risque de te supprimer ton record que tu viens de créer... car tu viens d'inserer un enregistrement avec un id1 aussi...
perso, je ferais le delete avant  et j'insérais apres...
 
Guillaume
 


---------------
mieux vaut être un con au chaud, qu'un con gelé lol
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed