SQL Server:无法通过从同一数据库问题上的另一个表中过滤来选择一个表的列

mir*_*aig 3 sql database sql-server

我正在使用此语句通过过滤另一个表中的数据从一个表中获取行.

 SELECT EMPNO 
 FROM EMP 
 WHERE CITY_NAME = 'Los Angeles';
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL Server 2014,我收到此错误:

信息207,级别16,状态1,第51行
无效的列名称"CITY_NAME".

实际上我需要通过过滤来自'洛杉矶'的所有人来从EMP获取EMPNO

我也尝试这个声明,但它也不起作用:

SELECT EMPNO 
FROM EMP 
WHERE dbo.LOCATION.CITY_NAME = 'Los Angeles';
Run Code Online (Sandbox Code Playgroud)

所有表的图像

注意:这些都在同一服务器和相同的数据库上

谢谢.

Mud*_*san 6

您需要在表之间加入.

 SELECT EMPNO FROM EMP 
 JOIN DEPT ON EMP.DeptNo = DEPT.DeptNo
 JOIN LOCATION ON LOCATION.City_ID = DEPT.City_ID 
 WHERE LOCATION.CITY_NAME='Los Angeles';
Run Code Online (Sandbox Code Playgroud)