Le scénario est le suivant : j'ai une table d'étudiants et ils ont 4 classes et ils ne connaissent que le numéro de la chambre. Il y a également deux tableaux, l'un avec le nom du professeur et le numéro de chambre, l'autre avec le nom du professeur et les matières qu'il enseigne. Maintenant, les élèves veulent savoir qui est leur professeur de mathématiques, ils veulent juste le nom de l'élève et celui du professeur de mathématiques.
Il s'agit d'un scénario fictif pour un projet de bons d'achat sur lequel je travaille. Je l'ai fait fonctionner dans de nombreuses situations, mais c'est très lent. La condition de cas pour créer la nouvelle colonne ne ralentit rien et j'ai laissé joindre les tables en utilisant la même condition de cas puisque nous ne savons pas quelle colonne relier la table des étudiants à la table des enseignants. La condition de cas dans la jointure de gauche semble être à l'origine du problème. Existe-t-il une autre méthode que je peux utiliser pour obtenir le même résultat sans délai ?
Je pense que la raison pour laquelle vous rencontrez tant de problèmes est que votre architecture n'est pas très bonne. Plus précisément le schéma de la table des étudiants où il y a une colonne pour chaque numéro de cours/salle.
J'ai d'abord corrigé cela à l'aide d'une sous-requête, par exemple :
"Unpivoting" comme celui-ci vous donnera une belle architecture propre
Student Name |期间 | Room
qui facilitera la résolution de ce problème.