回答編集履歴
1
質問解釈間違いのため、回答訂正
answer
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
+
質問を読み直したところ、質問の意図が違うことが分りました。
|
2
|
+
「A_cd、B_cdに別のマスタを結合(JOIN)し、それぞれ重複を排除(DISTINCT)して、
|
3
|
+
A_cd分とB_cd分を縦に並べる(UNION)する」でしたね。
|
4
|
+
|
5
|
+
```SQL
|
6
|
+
SELECT DISTINCT -- Aパート 抽出結果を重複除外
|
7
|
+
[Master_A].[A_Value] AS Val -- B側と同じ項目数、項目名にする
|
8
|
+
FROM [T_sample]
|
9
|
+
LEFT JOIN [Master_A] -- A_cdに対するマスタを結合
|
10
|
+
ON [T_sample].[A_cd] = [Master_A].[A_cd]
|
11
|
+
|
12
|
+
UNION ALL
|
13
|
+
SELECT DISTINCT -- Bパート 抽出結果を重複除外
|
14
|
+
[Master_B].[B_Value] AS Val -- A側と同じ項目数、項目名にする
|
15
|
+
FROM [T_sample]
|
16
|
+
LEFT JOIN [Master_B] -- B_cdに対するマスタを結合
|
17
|
+
ON [T_sample].[B_cd] = [Master_B].[B_cd]
|
18
|
+
```
|
19
|
+
|
20
|
+
上記が、訂正版のSQL文です。
|
21
|
+
以上、ご参考になりますでしょうか?
|
22
|
+
|
23
|
+
---
|
24
|
+
以下、訂正前回答
|
25
|
+
|
1
26
|
「A_cdのマスタ、B_cdのマスタという2つのテーブルを結合する方法は?」
|
2
27
|
という質問でしょうか?
|
3
28
|
|
@@ -54,4 +79,4 @@
|
|
54
79
|
```
|
55
80
|
|
56
81
|
以上、
|
57
|
-
ご参考になりますでしょうか?
|
82
|
+
ご参考になりますでしょうか?
|