Bonjour à tous,
J'ai une requette dans laquelle je fais une clause WHERE conditionnelle. Ca donne :
En gros, la jointure se fait sur le champ2 si le champ1 de la table1 est nul (null ou 0) et sinon sur le champ1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT table1.*, table2.* FROM table1, table2 WHERE CASE WHEN (table1.champ1 is NULL OR table1.champ1 = 0) THEN table1.champ2=table2.champ2 ELSE table1.champ1=table2.champ1 END
Cette requête prend beaucoup trop de temps à s'éxécuter : 11 s au lieu de 0,1 si j'enlève cette clause.
Alors quelqu'un peut-il m'aider et me dire comment faire ce genre de jointure ou comment l'optimiser ?
Merci par avance.
Julie
Partager