1

私はSQLテーブルを持っています:

id_details
year-month
type (only have 2 values , income and outcome)
amount

とテーブルには次のような行があります。

(year-month)      (type)     (amount)
 November-2012    income      50000
 November-2012    income      30000
 December-2012    income      20000
 November-2012    outcome     10000
 December-2012    outcome     50000
 December-2012    income      10000

私が欲しいのは、次のような結果のクエリを表示することです。

 (year-month)    (sum income)     (sum-outcome)   (sub-total balance)
 November-2012    80000             10000          70000
 December-2012    30000             50000          -20000 

ついに

  total-balance = 50000

これどうやってするの?または、より良いテーブルデザインをお勧めできますか?

4

1 に答える 1

1
SELECT `year-month`,
       SUM(CASE WHEN type = 'income' THEN amount ELSE 0 END) `sum-income`,
       SUM(CASE WHEN type = 'outcome' THEN amount  ELSE 0 END) `sum-outcome`,
       SUM(amount) `sum-total balance`
FROM <JOINS>
GROUP BY `year-month`
于 2012-11-26T15:21:32.170 に答える