Aucun nom de colonne n'a été spécifié pour la colonne 1 de 'tbl'

Lorsque j'exécute la requête ci-dessous dans le server sql 208 r2, j'obtiens un message d'erreur Aucun nom de colonne n'a été spécifié pour la colonne 1 de 'tbl'.

SELECT rollno, classid, t_class.classname FROM t_class LEFT JOIN(SELECT Count(classname), classname FROM t_class GROUP BY groupname HAVING Count(classname) > 1)tbl ON tbl.classname = t_class.classname 

Puisque vous utilisez votre sous-requête dans JOIN, votre colonne doit avoir un nom:

 SELECT rollno, classid, t_class.classname FROM t_class LEFT JOIN(SELECT Count(classname) as CountOfClasses, classname FROM t_class GROUP BY groupname HAVING Count(classname) > 1)tbl ON tbl.classname = t_class.classname 

Mais puisque vous n'utilisez pas ce champ d'agrégat dans votre requête, vous pouvez le supprimer du tout:

 SELECT rollno, classid, t_class.classname FROM t_class LEFT JOIN(SELECT classname FROM t_class GROUP BY groupname HAVING Count(classname) > 1)tbl ON tbl.classname = t_class.classname