Bonjour,
sur SQL server 2008
Je voudrais combiné un left join table on si existe alors...
Mais bien sur cela ne fonctionne pas.
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 BMBOM_LINE_CODE , BMBOM_ITEM_CODE ,Nom_Dessin,BMBOM_LINE_CODE_C,BMBOM_ITEM_CODE_C FROM sad.dbo.sad_bmbom left JOIN [IMP].[dbo].[New_Qte_Remorque] on if Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,20) then Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,20) elseif Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,2) then Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,2) elseif Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,1) then Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,1) end if ORDER BY BMBOM_LINE_CODE,BMBOM_ITEM_CODE,Nom_Dessin
J'ai essayé avec un Case
mais je n'ai pas le résultat que je veux,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 .... left JOIN [IMP].[dbo].[New_Qte_Remorque] on case when Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,20) then Nom_Dessin when Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,2) then Nom_Dessin when Nom_Dessin = SUBSTRING(BMBOM_ITEM_CODE,7,1) then Nom_Dessin end=Nom_Dessin ....
car si les 3 (when Nom_Dessin = ... existe)
alors il m’apparaît les 3 dans le résultat.
moi ce que je veux est si le premier existe ne cherche pas le 2e et 3e
si le premier n'existe pas cherche le 2e, si il existe ne cherche pas le 3e
et si le 2e n'existe pas cherche le 3e
si non la valeur est NULL
Merci à l'avance!
Partager