/ / Nie podano nazwy kolumny dla kolumny 1 „tbl” - serwer sql

Nie podano nazwy kolumny dla kolumny 1 'tbl' - sql-server

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 № 1

Ponieważ 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