Bonjour à tous ,

Je suis exposé à une problématique et n'étant pas un expert en SQL je me tourne vers vous.
J'ai une table 1 avec 2 colonnes avec un enregistrement:

ID | Rang
a 2


Une table 2 avec 3 enregistrements ;

ID_new | Rang_new
b 1
c 2
d 3

Mon but est d'inséré les enregistrements de la table 2 dans la table 1 en décalant le rang (+1) si un enregistrement dans la table 1 possède déjà ce rang.

Dans mon exemple:
  1. Pour b, le rang 1 n'existe pas dans la table 1, alors je l'insère.
  2. Pour c, le range 2 existe dans la table 1, alors je fais +1 et j'essaie de l'insérer : le rang vaut donc à présent 3, ce rang n'existe pas dans la table 1 donc je l'insère
  3. Pour d, le range 3 existe dans la table 1 suite à l'insertion d'avant, alors je fais +1 et j'essaie de l'insérer : le rang vaut donc à présent 4, ce rang n'existe pas dans la table 1 donc je l'insère


la table 1 au final serait ainsi

ID | Rang
b 1
a 2
c 3
d 4

Si vous avez une solution je suis preneur

Merci par avance,

Julien