2つのテーブルがあります。
表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]
CROSS JOIN
を使用したい:
SELECT FormulaId, Formula, ContextId, [Name]
FROM Formula
CROSS JOIN Context
試しましたか - CROSS APPLY
:
select *
from context
cross apply formulas
order by contextid
SQL Fiddleデモあり を参照してください
クロスジョインのみが可能です。他の結合は、関連するテーブルでのみ実行できます。