Bonjour,
j'ai 11 tables A, B, C, ... contenant notamment le champ ref et qty. Je voudrais les joindre totalement (full join sur ref) avec un seul champ ref contenant une valeur (pas de null). Je fais donc ça (je réduis volontairement à 3 tables)
J'utilise là, un case when. C'est jouable pour 3 même si dans l'exemple, ce n'est pas exhaustif. Mais pour 11, ça devient très très laborieux d'explorer tous les cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT (case when (S1.ref is null and S2.ref is null) then S3.ref when (S1.ref is null and S3.ref is null) then S2.ref when (S2.ref is null and S3.ref is null) then S1.ref else S1.num_art end) AS num_art, S1.qty as qtyS1, S2.qty as qtyS2, S3.qty as qtyS3 from A full join B on A.ref=B.ref full join C on B.ref=C.ref
Bref, avez vous une idée de syntaxe me permettant de retourner dans le champ ref une valeur non nulle?
Merci
Partager