Podczas wykonywania poniższego zapytania na serwerze SQL 208 R2 Pojawia się komunikat o błędzie Nie określono nazwy kolumny dla kolumny 1 „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
Odpowiedzi:
2 dla odpowiedzi № 1Ponieważ używasz podzapytania w JOIN, twoja kolumna musi mieć nazwę:
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
Ponieważ jednak nie używasz tego pola agregacji w zapytaniu, możesz je w ogóle usunąć:
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