2017-10-06 63 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」列表 –