SQL 服务器 : can't select columns of one table by filtering from another table on same database issue

标签 sql sql-server database

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

 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';

IMAGE OF ALL TABLE

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

谢谢。

最佳答案

您需要在表之间进行 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/

相关文章:

mysql - 优化MySQL查询,选择内选择,多个相同

sql - 帮助基本的 SQL QUERY

sql - 从查询的子集中获取最新记录

java - 使用哪个 jar 连接到 MS SQL 服务器

sql - 检查日期时间值是否溢出

mysql - 关于地址、城市、国家数据的规范化问题

database - Postgres 将 Heroku 生产数据库复制到本地开发数据库

sql - 如何使用 SQL 将不同的字符串分类为一组?

sql-server - 为什么join子句的顺序会影响SQL Server中的查询计划?

mysql - 我想在新计算机上使用来自非工作服务器备份的 mysql 数据库