質問編集履歴
1
コード追記しました。
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
|
+
```
|