回答編集履歴

1

調整

2016/09/02 03:39

投稿

yambejp
yambejp

スコア114863

test CHANGED
@@ -26,8 +26,60 @@
26
26
 
27
27
 
28
28
 
29
- ちなみに、品目Mの顧客コード,品名コードおよび
29
+ #結局
30
30
 
31
- 履歴Fの顧客コード,品名コード,Noの組み合わせは
31
+ 冗長になりますがこうなんでしょうね・・・
32
32
 
33
+ ```SQL
34
+
35
+ SELECT 品名,変更者,変更日
36
+
37
+ FROM 品名M
38
+
39
+ LEFT JOIN
40
+
41
+ (SELECT 変更者,変更日,履歴F.顧客コード,履歴F.品名コード
42
+
43
+ FROM 履歴F INNER JOIN
44
+
45
+ (SELECT MAX(No) AS No,顧客コード,品名コード FROM 履歴F
46
+
47
+ GROUP BY 顧客コード,品名コード) AS SUB
48
+
49
+ ON 履歴F.No=SUB.No
50
+
51
+ AND 履歴F.顧客コード=SUB.顧客コード
52
+
53
+ AND 履歴F.品名コード=SUB.品名コード) AS SUB
54
+
55
+ ON 品名M.顧客コード = SUB.顧客コード
56
+
33
- それぞれユニクであるという認識でよろしいですよね?
57
+ AND 品名M.品名コド = SUB.品名コード ;
58
+
59
+ ```
60
+
61
+
62
+
63
+ ちなみに、INの複数指定ができないということはUSINGの複数してもできないのでしょうか?
64
+
65
+ ```SQL
66
+
67
+ SELECT 品名,変更者,変更日
68
+
69
+ FROM 品名M
70
+
71
+ LEFT JOIN
72
+
73
+ (SELECT 変更者,変更日,顧客コード,品名コード
74
+
75
+ FROM 履歴F INNER JOIN
76
+
77
+ (SELECT MAX(No) AS No,顧客コード,品名コード FROM 履歴F
78
+
79
+ GROUP BY 顧客コード,品名コード) AS SUB
80
+
81
+ USING(No,顧客コード,品名コード)) AS SUB
82
+
83
+ USING(顧客コード,品名コード);
84
+
85
+ ```