TSQL选择具有相同名称的连接中的所有列

时间:2014-10-26 10:13:56

标签: tsql join

如果我有查询

select * into #tmp1 from dbo.t1  inner join dbo.t2  on t1.Sender_Id=t2.Id

我收到错误

Column names in each table must be unique. Column name 'Id' in table '#tmp1' is specified more than once

如果不诉诸

,我怎么能做同样的事情
select t1.Id as t1id, t1.col2. ... t1.col30, t2.Id as t2id, ... t2.col40 as t2col40 from ...

符号。

我只需要快速并且手动检查几个表格,所以我想快速检查一下联接。

3 个答案:

答案 0 :(得分:1)

如果您必须通过select * into #tmp保留结果或想要创建视图,则每个字段名称必须是唯一的,您必须为名称相同的字段使用别名。
简单查询不需要唯一名称。

答案 1 :(得分:-1)

是的,列名在select语句中必须是唯一的,在你的情况下,你有两个(02)id,一个来自tbl1,另一个来自tbl2,在esolution上列出它们:

Select t1.id, t2.id From tbl1 as t1 Inner Join tbl2 as t2 on t1.id = t2.id

希望得到这个帮助。

答案 2 :(得分:-1)

或者,如果两个表中都有相同名称的列,请使用:

Select t1.*, t2.* From tbl1 as t1 Inner join tbl2 as t2 On t1.id = t2.id

此致