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

質問編集履歴

1

コード追記しました。

2017/04/26 09:49

投稿

cd987456
cd987456

スコア33

title CHANGED
File without changes
body CHANGED
@@ -89,4 +89,36 @@
89
89
  条件文のCODEに対するKUBUNの『J』、『T』のみでさらにその中でCODEに対する最大値の抽出が
90
90
  分かりません。
91
91
 
92
- コードを教えて下さい。
92
+ コードを教えて下さい。
93
+
94
+ 追記コードです。
95
+ ```
96
+ Dim strSQL As String
97
+
98
+ Dim fild1, fild2, fild3, fild4, fild5 As String
99
+ Dim wTbl,wTbl5 As String
100
+
101
+ fild1 = "CODE"
102
+ fild2 = "NAME"
103
+ fild3 = "KCODE"
104
+ fild4 = "KUBUN"
105
+ fild5 = "SHOYOU"
106
+
107
+ strSQL = "select tmp.CODE,tmp.NAME,tmp.KCODE,tmp.KNAME,tmp.KUBUN,tmp.SYOYOU"
108
+
109
+ strSQL = strSQL & " from (select " & wTbl & "." & fild1 & " CODE,H1." & fild2 & " NAME," & wTbl & "." & fild3 & " KCODE,H2." & fild2 & " KNAME," & wTbl5 & "." & fild4 & " KUBUN," & wTbl5 & "." & fild5 & " SHOYOU"
110
+ strSQL = strSQL & ", MAX(" & wTbl5 & "." & fild5 & ") OVER(PARTITION BY " & wTbl & "." & fild1 & "," & wTbl5 & "." & fild4 & ") MAX_SHOYOU"
111
+ strSQL = strSQL & " from " & wTbl
112
+
113
+ strSQL = strSQL & " left join " & wTbl2 & " H1"
114
+ strSQL = strSQL & " on " & wTbl & "." & fild1 & " = H1." & fild1
115
+
116
+ strSQL = strSQL & " left join " & wTbl2 & " H2"
117
+ strSQL = strSQL & " on " & wTbl & "." & fild3 & " = H2." & fild1
118
+
119
+ strSQL = strSQL & " left join " & wTbl5
120
+ strSQL = strSQL & " on " & wTbl & "." & fild1 & " = " & wTbl5 & "." & fild1 & " and " & wTbl5 & "." & fild4 & " in ('J','T')) tmp"
121
+
122
+ strSQL = strSQL & " where tmp.SHOYOU = tmp.MAX_SHOYOU "
123
+
124
+ ```