2 つのテーブルの 2 つの列を結合し、特定の順序で表示する必要があります
Table1 と ColumnNM
Table2 と ColumnDESC
主キーは ColumnID です
ColumnNM ごとに複数の ColumnDESC 行があります。したがって、次の形式で表示する必要があります。
列 ID 列 NM ------------------- 列DESC 列DESC 列DESC 列DESC 列 ID 列 NM ------------------- 列DESC 列DESC 列 ID 列 NM ------------------- 列DESC 列DESC 列DESC
結果をグリッドではなくテキストに表示する必要があります。これを行う方法に関する提案はありますか?ストアドプロシージャとして作成する必要があります。どんな助けでも大歓迎です。以下は私が得た限りです:
DECLARE @Name nvarchar(max),
@Lesson nvarchar(max),
@lb nvarchar(max)
SET @lb = '----------------------------------------------------'
SELECT @Name = Module.Name
FROM Module
JOIN Lesson ON Module.ModuleSequence = Lesson.ModuleSequence
WHERE Module.ModuleSequence = 1
PRINT '1 ' + @Name
PRINT @lb
SELECT Lesson.Description
FROM Module
JOIN Lesson ON Module.ModuleSequence = Lesson.ModuleSequence
WHERE Module.ModuleSequence = 1
しかし、私は道を外れていると思います。
..........................................OK、編集、John Tabernik の提案の後私はこれを得た......................................
(PSスタックオーバーフローの使用方法を学んでいるだけで、回答にコメントを追加して申し訳ありません)
SELECT M.Name, L.Description
FROM Module M
JOIN Lesson L
ON M.ModuleSequence = L.ModuleSequence
ORDER BY M.Name, L.Description
最初の M.Name には 4 つの異なる L.Description があり、他のすべての M.Name には異なる量があるため、M.Name を 4 回繰り返すことになります。
例:
M.Name | L.Description
-----------------------------
A | 1
A | 2
A | 3
B | 1
B | 2
C | 1
C | 2
C | 3
しかし、私は次のように出力する必要があります:
A |
-----
1 |
2 |
3 |
B |
-----
1 |
2 |
C |
-----
1 |
2 |