回答編集履歴
2
Q2 Null考慮
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
「今月請求金額合計」については**支払済**でない今月以前の「課金記録」としています。
|
12
12
|
```SQL
|
13
13
|
SELECT 会員マスター.会員番号,会員マスター.名前, Nz(入金額計)-Nz(支払済金額計) AS 預かり金額
|
14
|
-
|
14
|
+
, Nz(今月請求金額合計) as 今月請求金額
|
15
15
|
FROM ((会員マスター LEFT JOIN (
|
16
16
|
SELECT 会員番号, Sum(請求金額) AS 支払済金額計
|
17
17
|
FROM 課金記録
|
1
Q2回答修正
answer
CHANGED
@@ -6,10 +6,13 @@
|
|
6
6
|
但し、一部入金などのイレギュラーに対応するためには、どうしても補正的な入力は必要でしょうから変更分だけの更新処理は考慮したほうが良いかもしれません。
|
7
7
|
|
8
8
|
Q2
|
9
|
-
|
9
|
+
※ちょっと読み違えていたので修正
|
10
|
+
「今月請求金額合計」を求めたものを結合すればよいかと思います。
|
11
|
+
「今月請求金額合計」については**支払済**でない今月以前の「課金記録」としています。
|
10
12
|
```SQL
|
11
13
|
SELECT 会員マスター.会員番号,会員マスター.名前, Nz(入金額計)-Nz(支払済金額計) AS 預かり金額
|
14
|
+
,今月請求金額合計
|
12
|
-
FROM (会員マスター LEFT JOIN (
|
15
|
+
FROM ((会員マスター LEFT JOIN (
|
13
16
|
SELECT 会員番号, Sum(請求金額) AS 支払済金額計
|
14
17
|
FROM 課金記録
|
15
18
|
WHERE 支払済=TRUE
|
@@ -17,6 +20,13 @@
|
|
17
20
|
) AS Q支払済金額計
|
18
21
|
ON 会員マスター.会員番号 = Q支払済金額計.会員番号
|
19
22
|
) LEFT JOIN (
|
23
|
+
SELECT 会員番号, Sum(請求金額) AS 今月請求金額合計
|
24
|
+
FROM 課金記録
|
25
|
+
WHERE 支払済=False and 支払期限<#2018/6/1#
|
26
|
+
GROUP BY 会員番号
|
27
|
+
) AS Q今月請求金額合計
|
28
|
+
ON 会員マスター.会員番号 = Q今月請求金額合計.会員番号
|
29
|
+
) LEFT JOIN (
|
20
30
|
SELECT 会員番号, Sum(入金金額) AS 入金額計
|
21
31
|
FROM 支払い記録
|
22
32
|
GROUP BY 会員番号
|