如何在sql中联接两个不相关的表

问题描述 投票:18回答:4

我有两个表:

表1:公式

FormulaId    Formula Text
1            [Qty] * [Rect]
2            [Qty] * [Al]
3            [Mt] * [Cat]  

表2:上下文

ContextId    Name
1            Test 1
2            Test 2
3            Test 3
4            Test 4    

我需要以某种方式在sql server 2008 R2中加入这些表,以获得一个表,其中对于每个上下文ID,我都会有完整的公式列表,即]]

结果

ContextId    Name     FormulaId    Formula Text    
1            Test 1   1            [Qty] * [Rect]
1            Test 1   2            [Qty] * [Al]
1            Test 1   3            [Mt] * [Cat]
2            Test 2   1            [Qty] * [Rect]
2            Test 2   2            [Qty] * [Al]
2            Test 2   3            [Mt] * [Cat]
3            Test 3   1            [Qty] * [Rect]
3            Test 3   2            [Qty] * [Al]
3            Test 3   3            [Mt] * [Cat]
4            Test 4   1            [Qty] * [Rect]
4            Test 4   2            [Qty] * [Al]
4            Test 4   3            [Mt] * [Cat]

我有两个表:表1:公式FormulaId公式文本1 [数量] * [Rect] 2 [数量] * [Al] 3 [Mt] * [猫]表2:上下文ContextId名称1 ...

sql sql-server sql-server-2008 tsql sql-server-2008-r2
4个回答
21
投票

您可以如下使用两个表的Cartesian Product


20
投票

您要使用M * N


4
投票

您尝试过SELECT FormulaId, Formula, ContextId, [Name] FROM Formula CROSS JOIN Context


0
投票

您只能进行交叉加入。其他联接只能使用相关表来完成。


-1
投票

加入无关表

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.