fen*_*222 18 sql t-sql sql-server sql-server-2008 sql-server-2008-r2
我有两张桌子:
表1:配方
FormulaId Formula Text
1 [Qty] * [Rect]
2 [Qty] * [Al]
3 [Mt] * [Cat]
Run Code Online (Sandbox Code Playgroud)
表2:上下文
ContextId Name
1 Test 1
2 Test 2
3 Test 3
4 Test 4
Run Code Online (Sandbox Code Playgroud)
我需要以某种方式在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]
Run Code Online (Sandbox Code Playgroud)
Vik*_*dor 21
您可以使用以下Cartesian Product
两个表:
SELECT * FROM Formulas, Context
Run Code Online (Sandbox Code Playgroud)
这会导致M * N
行.
Lit*_*les 20
你想用一个CROSS JOIN
:
SELECT FormulaId, Formula, ContextId, [Name]
FROM Formula
CROSS JOIN Context
Run Code Online (Sandbox Code Playgroud)