【发布时间】:2016-06-22 01:32:29
【问题描述】:
我正在使用 SQL Server 2014,并且我有以下连接 2 个表的 T-SQL 查询:
SELECT a.*, b.* FROM TEMP a
INNER JOIN Extras b ON b.ResaID = a.ResaID
我想从 TEMP 中提取所有列,并从“Extras”中提取所有列,但 ResaID 列除外,因为它已包含在上述查询的 a.* 中。基本上,我想拉a.* + b.*(不包括b.ResaID)。
我知道我可以将查询写成如下形式:
Select a.*, b.column2, b.column3,...
但由于 b.* 有大约 40 列,有没有办法以更简化的方式编写查询以排除 b.ResaID,而不是指定“Extras”表中的每一列?
【问题讨论】:
-
这种语法叫做“列别名”和“不要使用选择
*” -
如果不求助于this question 的答案中提出的想法,我认为这是不可能的。我认为您只需要明确说明您需要哪些列。
-
@MrMoose 感谢您指出这个问题。我在搜索中错过了它。我现在来看看答案!
-
你也可以创建一个视图,如果你不想在 select 中列出所有 40 列
标签: sql-server tsql join duplicates