sql - 内连接表但仅从一张表中选择

标签 sql sql-server sql-server-2008

我连接了两个表,以便我可以比较字段并从一个表中提取记录,其中要比较的字段不在两个表中:

Table A
---------
Comp   Val
111    327
112    234
113    265
114    865


Table B
-----------
Comp2   Val2
111     7676
112     5678

所以我要做的就是连接 Comp-Comp2 上的两个表,然后我希望从表 A 中选择表 B 中不存在相应 Comp 的所有值。在这种情况下,查询应产生:

Result
---------
Comp   Val
113    265
114    865

这是查询:

select * into Result from TableA
inner join TableB
on (TableB.Comp2 = TableA.Comp)
where TableB.Comp2 <> TableA.Comp

问题是,它从两个表中提取值。有没有办法单独从 TableA 中选择值而不显式指定字段?

最佳答案

只需在 * 前面加上所需的表名称,如下所示:

select TableA.* into Result from TableA
inner join TableB
on (TableB.Comp2 = TableA.Comp)
where TableB.Comp2 <> TableA.Comp

关于sql - 内连接表但仅从一张表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325670/

相关文章:

sql - 如何从创建类型中查找纬度/经度

sql-server - SSMS 18.1 在启动时抛出错误,缺少 UI 元素

mysql - 如何从表中选择不在select查询结果中的记录(select查询可能是2个或更多表的连接)

sql - SELECT DISTINCT with LEFT JOIN, ORDERed BY in t-SQL

sql - 如果表中存在列,则重命名该列

php - 使用 PHP、CodeIgniter 和 MySQL 显示查询的日期字段问题?

php - 计算某些预定义数据的行数

c# - 通配符搜索 LINQ

regex - T-SQL 中的 SQL Server 正则表达式解决方法?

sql-server-2008 - 从 CLR 存储过程调用 T-SQL 存储过程