Bonjour!!

Si quelqu'un a du temps pour m'aider, ce serait fort apprécié ! C'est assez tordu, par contre je ne sais pas si c'est assez clair...

Contexte : Mettre à jour les numéros français et anglais dans la table A à partir de la table C. En faisant un join sur la table Titres car le Titre français doit être égal dans B et dans C, ainsi que le Titre anglais dans B et dans C pour chaque enregistrement à mettre à jour dans A. Le Titre à vérifier se trouve dans B et non dans A, donc un produit les relie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Update A
Set      A.noFrancais = C.noFrancais,
           A.noAnglais = C.noAnglais  --  Pas certaine de cette ligne, mais si je mets D.noAnglais au lieu de C.noAnglais sur cette ligne, le where en bas inclut ceux dont  ( A.noFrancais = C.noFrancais or A.noAnglais = D.noAnglais...je ne comprends pas pourquoi :( )
From  A
Inner join B On B.produit = A.produit   
Inner join Titres C  -- (C est un diminutif)
On B.nomFrancais = C.nomFrancais
Inner join Titres D   -- (D est un diminutif, même table que C mais join sur un autre champ)
  On B.nomAnglais = D.nomAnglais     --prise en compte des enregistrements dans A dont les titres (Francais + anglais) sont égaux dans B et dans C
Where  ( A.noFrancais != C.noFrancais or A.noAnglais != D.noAnglais)  -- Les 2 numéros des titres ne doivent pas être égaux (sinon aucune mise a jour n'est requise..soit les deux ou un des deux peuvent ne pas être égal)