Я пытаюсь исправить этот код ошибки в T-SQL, который утверждает, что у меня есть неверный столбец - PullRequest
0 голосов
/ 27 июня 2010

Это был мой первоначальный вопрос:

«Какой будет правильный синтаксис и объединение (если есть) подзапроса, который вернет всем сотрудникам имя и фамилию из таблицы сотрудника,и вернуть название своего отдела из таблицы отделов, но только тех сотрудников, которые превышают среднюю зарплату по своему отделу?Спасибо за ваши ответы »

После использования примера Митча Уита (и его заслуженного восхищения) я добавил столбец в свою таблицу DEPARTMENT в своей базе данных и реализовал этот код:

ALTER TABLE DEPARTMENTS  
ADD Salary money
GO
select First_Name, Last_Name, department_Name  
from Employees e join  
   (select Department_Name,AVG(Salary) AS averageSalary  
     from DEPARTMENTS d  
     join Employees e ON e.Department_Id=d.Department_Id  
     group by  Department_Name) ds 
on ds.averageSalary=e.Employee_Id 
where e.salary>ds.AverageSalary 

Тем не менее, я все еще получаю эту ошибку:

Msg 207, Level 16, State 1, Line 8
Invalid column name 'salary'.

Почему SALARY продолжает оставаться недопустимым именем столбца?

Ответы [ 2 ]

2 голосов
/ 27 июня 2010

Возможно, у вас включено некоторое сопоставление с учетом регистра, которое может повлиять на регистр имен столбцов. Обратите внимание, что добавлен столбец «Зарплата», но ваш запрос ссылается на «Зарплата».

Исправь дело, и с тобой все будет в порядке.

Подробнее об этом см. .

(обратите внимание также на комментарий LittleBobbyTables (отличный ник, кстати!) О вашем запросе - там есть странное предложение объединения!)

0 голосов
/ 27 июня 2010

Вы уверены, что у вас есть столбец зарплаты в таблице сотрудников?(e.salary) Столбец «Зарплата», который вы добавили, находится в таблице Департамента (d.Salary) для хранения средней зарплаты по отделу, я полагаю.

Также, как заявил Пол Диксон, случай с именами столбцов также может быть важен..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...