2017-10-06 65 views
0

比方说,我有如下表:SQL加入2个表没有关系

表1与的cols:A,B
表2与COL:C
我有一个变量@d。

|Table1|    |Table2|   @d = 5; 
------    ------ 
|A | B|    | C | 
-------    ------- 
a1 | b1     c1 
a2 | b2     c2 

如何显示以下输出?

| ResultTable | 
------------------ 
|A | B | C | d| 
a1 b1 c1 5 
a2 b2 c2 5 

PS:我正在使用T-SQL。

+2

到目前为止您尝试过什么?表格之间的关系是什么? – Eric

+0

交叉连接将是一个选项,但会产生两个表的产品。 –

+0

@Eric:我用一个虚拟的例子简化了这个问题,因为我的实际存储过程超过了800行,而我的问题对应着它的一个小部分。 –

回答

3

您可以使用row_number为每行赋予一个数字并加入。这假定两个表具有相同的行数。

select *, @d from (
    select *, row_number() over (order by A) rn 
    from Table1 
) t1 join ( 
    select *, row_number() over (order by C) rn 
    from Table2 
) t2 on t1.rn = t2.rn 
+0

@FuzzyTree:Thx。我该如何加入变量d呢? –

+1

@Schwammkopf - 只需将其添加到“SELECT”列表 –