我有两张桌子:
表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]
答案 0 :(得分:20)
您想使用CROSS JOIN
:
SELECT FormulaId, Formula, ContextId, [Name]
FROM Formula
CROSS JOIN Context
答案 1 :(得分:18)
答案 2 :(得分:4)
您是否尝试过CROSS APPLY
:
select *
from context
cross apply formulas
order by contextid
答案 3 :(得分:0)
您只能进行交叉加入。其他联接只能通过相关表来完成。