回答編集履歴
2
訂正
answer
CHANGED
@@ -2,6 +2,17 @@
|
|
2
2
|
最終残高って直近の残高ってことでいいですよね?
|
3
3
|
ご提示頂いているSQLと結果が違うのが気になりますが、
|
4
4
|
こちらでいかがでしょうか?
|
5
|
+
Oracleです。
|
5
6
|
|
6
|
-
|
7
|
+
```sql
|
7
|
-
|
8
|
+
SELECT C.NAME 名前,
|
9
|
+
CASE C.SEX
|
10
|
+
WHEN '1' THEN '男'
|
11
|
+
WHEN '0' THEN '女'
|
12
|
+
END AS 性,
|
13
|
+
ZAN AS 残高
|
14
|
+
FROM YOKIN Y
|
15
|
+
INNER JOIN (SELECT ID, TO_CHAR(MAX(TO_DATE(DAY, 'YYYYMMDD')), 'YYYYMMDD') DAY FROM YOKIN GROUP BY ID) T ON Y.ID = T.ID AND Y.DAY = T.DAY
|
16
|
+
INNER JOIN CUSTOMERS C ON Y.ID = C.ID
|
17
|
+
ORDER BY Y.ID
|
18
|
+
```
|
1
訂正
answer
CHANGED
@@ -3,15 +3,5 @@
|
|
3
3
|
ご提示頂いているSQLと結果が違うのが気になりますが、
|
4
4
|
こちらでいかがでしょうか?
|
5
5
|
|
6
|
-
|
6
|
+
**※これだと日付が直近になりません・・・。
|
7
|
-
|
7
|
+
いったんSQLとりさげます。**
|
8
|
-
CASE C.SEX
|
9
|
-
WHEN '1' THEN '男'
|
10
|
-
WHEN '0' THEN '女'
|
11
|
-
END 性,
|
12
|
-
ZAN AS 残高
|
13
|
-
FROM YOKIN Y
|
14
|
-
INNER JOIN (SELECT ID, MAX(DAY) DAY FROM YOKIN GROUP BY ID) T ON Y.ID = T.ID AND Y.DAY = T.DAY
|
15
|
-
INNER JOIN CUSTOMERS C ON Y.ID = C.ID
|
16
|
-
ORDER BY Y.ID
|
17
|
-
```
|