Mise à jour de la table SQL (1) aux valeurs d'une autre, en fonction des conditions du tableau 1

J'essaye de créer une sorte d'outil de conversion qui mettra à jour un set de données avec de nouvelles valeurs basées sur certaines conditions.

Le tableau A contient les colonnes Scheme1, Class1, Condition 1, Condition 2,

Le tableau B contient une list de tous les schémas possibles 2, class (s) 2 que je dois mettre à jour.

Fondamentalement, tout dans le tableau A définit les conditions de ce qui doit être mis à jour. C'est où j'ai de la difficulté.

Je prévoyais quelque chose dans le genre de

UPDATE table_A SET class1 = table_B.class '1' WHERE IN (class1= '1', condition1 = '1', condition2 = '2') 

puis répéter ceci pour toutes les classifications. Il y a environ 50 classifications.

Est-ce sur la bonne voie, ou existe-t-il un moyen plus rapide / plus propre de le faire? Ai-je besoin de la deuxième table ou est-ce que je peux la mettre à jour? Serait-il plus facile de simplement créer un 3e au lieu de mettre à jour la table d'origine? (J'ai besoin de déplacer ces données en dehors de SQL après la conversion)

Si je vous comprends bien, cela devrait fonctionner

 UPDATE a SET class1 = b.class FROM TableA a JOIN TableB b ON a.scheme = b.scheme WHERE a.condition1=... AND a.condition2 = ... 

Approchez le développement d'instructions UPDATE à partir d'une première perspective SELECT, puis une fois que vous pouvez récupérer les valeurs comme vous le souhaitez, convertissez le select en UPDATE.

Commencez par créer un SELECT pour visualiser les résultats. Mettre à jour quoi avec quoi avec quoi .

 SELECT a.class1 b.class1 FROM table_A AS a INNER JOIN table_B AS b ON a.id = b.id WHERE a.condition1 = '1' 

Vous pouvez maintenant le modifier en UPDATE.

 --SELECT a.class1 -- b.class1 UPDATE a SET a.class1 = b.class1 FROM table_A AS a INNER JOIN table_B AS b ON a.id = b.id WHERE a.condition1 = '1'