我正在使用此语句通过过滤来自另一个表的数据来从一个表中获取行。
SELECT EMPNO
FROM EMP
WHERE CITY_NAME = 'Los Angeles';
我正在使用 SQL Server 2014,但出现此错误:
Msg 207, Level 16, State 1, Line 51
Invalid column name 'CITY_NAME'.
实际上我需要通过过滤所有来自“洛杉矶”的人来从 EMP 中获取 EMPNO
我也试过这个语句,但它也不起作用:
SELECT EMPNO
FROM EMP
WHERE dbo.LOCATION.CITY_NAME = 'Los Angeles';
注意:这些都在同一台服务器和同一数据库上
谢谢。
最佳答案
您需要在表之间进行 JOIN。
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';
关于SQL 服务器 : can't select columns of one table by filtering from another table on same database issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42387730/