teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

調整

2016/09/02 03:39

投稿

yambejp
yambejp

スコア117946

answer CHANGED
@@ -12,6 +12,32 @@
12
12
  GROUP BY 顧客コード,品名コード)
13
13
  ```
14
14
 
15
+ #結局
16
+ 冗長になりますがこうなんでしょうね・・・
17
+ ```SQL
18
+ SELECT 品名,変更者,変更日
19
+ FROM 品名M
20
+ LEFT JOIN
21
+ (SELECT 変更者,変更日,履歴F.顧客コード,履歴F.品名コード
22
+ FROM 履歴F INNER JOIN
23
+ (SELECT MAX(No) AS No,顧客コード,品名コード FROM 履歴F
24
+ GROUP BY 顧客コード,品名コード) AS SUB
25
+ ON 履歴F.No=SUB.No
26
+ AND 履歴F.顧客コード=SUB.顧客コード
27
+ AND 履歴F.品名コード=SUB.品名コード) AS SUB
28
+ ON 品名M.顧客コード = SUB.顧客コード
29
+ AND 品名M.品名コード = SUB.品名コード ;
30
+ ```
31
+
32
+ ちなみに、INの複数指定ができないということはUSINGの複数してもできないのでしょうか?
33
+ ```SQL
34
+ SELECT 品名,変更者,変更日
35
+ FROM 品名M
36
+ LEFT JOIN
37
+ (SELECT 変更者,変更日,顧客コード,品名コード
38
+ FROM 履歴F INNER JOIN
39
+ (SELECT MAX(No) AS No,顧客コード,品名コード FROM 履歴F
40
+ GROUP BY 顧客コード,品名コード) AS SUB
41
+ USING(No,顧客コード,品名コード)) AS SUB
15
- ちなみに、品目Mの顧客コード,品名コードおよび
42
+ USING(顧客コード,品名コード);
16
- 履歴Fの顧客コード,品名コード,Noの組み合わせは
43
+ ```
17
- それぞれユニークであるという認識でよろしいですよね?