回答編集履歴
2
「回答へのコメント」に対して追記
test
CHANGED
@@ -33,3 +33,20 @@
|
|
33
33
|
WHERE SHIWAKE_YYMM <= DATE_FORMAT(CURDATE(), '%Y%m')
|
34
34
|
AND SHIWAKE_KI = CASE WHEN MONTH(CURDATE())<=3 THEN YEAR(CURDATE())-1948 ELSE YEAR(CURDATE())-1947 END;
|
35
35
|
```
|
36
|
+
---
|
37
|
+
**2023-08-20 13:20追記**
|
38
|
+
|
39
|
+
> いくつか方法あると記載頂きましたが、SELECT句の中で実現可能な方法ありますか?
|
40
|
+
> SELECT ~ as 今期売上合計金額, ~ as 前期売上合計金額, 今期売上合計実績/前期売上合計実績 as 前期比 from URIAGE_DATA
|
41
|
+
> としたいです。
|
42
|
+
|
43
|
+
無理やりこの形式に当てはめるのであれば、以下のようなSQLになるかと思います。
|
44
|
+
|
45
|
+
```SQL
|
46
|
+
SELECT
|
47
|
+
SUM(CASE WHEN SHIWAKE_YYMM <= DATE_FORMAT(CURDATE(), '%Y%m') AND SHIWAKE_KI = (YEAR(CURDATE()) - CASE WHEN MONTH(CURDATE()) <= 3 THEN 1948 ELSE 1947 END) THEN URIAGE_GAK ELSE 0 END) AS 今期売上合計金額,
|
48
|
+
SUM(CASE WHEN SHIWAKE_YYMM <= DATE_FORMAT(CURDATE(), '%Y%m') AND SHIWAKE_KI = (YEAR(CURDATE()) - CASE WHEN MONTH(CURDATE()) <= 3 THEN 1949 ELSE 1948 END) THEN URIAGE_GAK ELSE 0 END) AS 前期売上合計金額,
|
49
|
+
SUM(CASE WHEN SHIWAKE_YYMM <= DATE_FORMAT(CURDATE(), '%Y%m') AND SHIWAKE_KI = (YEAR(CURDATE()) - CASE WHEN MONTH(CURDATE()) <= 3 THEN 1948 ELSE 1947 END) THEN URIAGE_GAK ELSE 0 END)
|
50
|
+
/ SUM(CASE WHEN SHIWAKE_YYMM <= DATE_FORMAT(CURDATE(), '%Y%m') AND SHIWAKE_KI = (YEAR(CURDATE()) - CASE WHEN MONTH(CURDATE()) <= 3 THEN 1949 ELSE 1948 END) THEN URIAGE_GAK ELSE 0 END) AS 前期比
|
51
|
+
FROM URIAGE_DATA;
|
52
|
+
```
|
1
「回答へのコメント」に対して内容を追記
test
CHANGED
@@ -21,3 +21,15 @@
|
|
21
21
|
|76|222|189|
|
22
22
|
|77|366|144|
|
23
23
|
|78|75|-291|
|
24
|
+
|
25
|
+
---
|
26
|
+
**2023-08-19 17:20追記**
|
27
|
+
|
28
|
+
「回答へのコメント」にあるイメージを実現する方法はいくつかあると思いますが、たとえば以下のようなSQLはどうでしょうか。
|
29
|
+
|
30
|
+
```SQL
|
31
|
+
SELECT SUM(URIAGE_GAK)
|
32
|
+
FROM URIAGE_DATA
|
33
|
+
WHERE SHIWAKE_YYMM <= DATE_FORMAT(CURDATE(), '%Y%m')
|
34
|
+
AND SHIWAKE_KI = CASE WHEN MONTH(CURDATE())<=3 THEN YEAR(CURDATE())-1948 ELSE YEAR(CURDATE())-1947 END;
|
35
|
+
```
|