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

回答編集履歴

3

コード修正

2015/10/02 13:57

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,4 +1,4 @@
1
- SQL1つでむりくり実行するなら、こんな雰囲気
1
+ SQL1つでむりくり実行するなら、こんな感じでしょうか
2
2
  ```SQL
3
3
  SELECT *
4
4
  FROM (
@@ -11,7 +11,7 @@
11
11
 
12
12
  UNION
13
13
 
14
- SELECT date, '小計' as '商品'
14
+ SELECT date, '_小計' as '商品'
15
15
  , SUM(CASE WHEN type = 1 THEN value ELSE 0 END) as '入庫'
16
16
  , SUM(CASE WHEN type = 2 THEN value ELSE 0 END) as '出庫'
17
17
  , SUM(CASE WHEN type = 1 THEN value ELSE value*(-1) END) as '在庫'
@@ -26,7 +26,7 @@
26
26
  , SUM(CASE WHEN type = 1 THEN value ELSE value*(-1) END) as '在庫'
27
27
  FROM container
28
28
  ) data
29
- ORDER BY data.date,data.入庫
29
+ ORDER BY data.date,data.商品 desc
30
30
  ```
31
31
  もし絞り込み条件が増えるとコードが増えて煩雑になります。
32
32
  PHP等で加工して出力するなら、在庫と小計と合計はそっちで算出したほうがいいかも知れませんね。

2

表現変更

2015/10/02 13:57

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,5 +1,4 @@
1
- データを作って動かしたわけじゃないのでエラーあるかも知れませんが、
2
- SQL1つでむりくり実行するなら、こんな雰囲気で動く
1
+ SQL1つでむりくり実行するなら、こんな雰囲気?
3
2
  ```SQL
4
3
  SELECT *
5
4
  FROM (

1

コード微調整

2015/10/02 13:52

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -27,7 +27,7 @@
27
27
  , SUM(CASE WHEN type = 1 THEN value ELSE value*(-1) END) as '在庫'
28
28
  FROM container
29
29
  ) data
30
- ORDER BY data.date
30
+ ORDER BY data.date,data.入庫
31
31
  ```
32
32
  もし絞り込み条件が増えるとコードが増えて煩雑になります。
33
33
  PHP等で加工して出力するなら、在庫と小計と合計はそっちで算出したほうがいいかも知れませんね。