質問 |
||
| QNo.3021016 | 金額の計算方法 | |
|---|---|---|
| 質問者:rusya |
以下のようなテーブルがあります。 hiduke | syuusi | tekiyou | kingaku | bikou 2007-5-8 | 収入 | 給料 | 48000 | バイト代 (以下数十件続く) このテーブルから、次のようにして収入と支出の5月分の合計を求めました。 select syuusi,sum(kingaku) from suitoh_table where hiduke like '2007-5-%' group by syuusi; syuusi | sum 収入 | 61000 支出 | 15080 するとこのように表示されるのですが、ここからさらに「収入−支出」と計算するにはどうすればいいのでしょうか? 最初のselect文の段階で、収入−支出の計算までさせたいのですが・・・。 |
|
困り度:
|
||
| 質問投稿日時: 07/05/22 14:56 |
||
回答良回答20pt |
|
| ANo.5 | どうしても縦(=別の行として)に表示したいですか? 横に並べる形でもいいなら、簡単なSQLで実現可能と思います。 select sum(case syuusi when '収入' then kingaku else 0 end) as 収入, sum(case syuusi when '支出' then kingaku else 0 end) as 支出, sum(case syuusi when '収入' then kingaku when '支出' then -kingaku else 0 end) as 収支 from suitoh_table where hiduke like '2007-5-%' and syuusi in('収入','支出') ; |
|---|---|
| 回答者:chukenkenkou | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 07/05/24 22:06 |
|
| |
| この回答へのお礼 | 遅くなりましたが、回答ありがとうございました。 |
回答 |
|
| ANo.4 | あああ、ごめんなさい!! 支出と収入のあとに'を入れておいてください。 連続投稿すみませんm(__)m |
|---|---|
| 回答者:ikiss | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 07/05/24 16:42 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.3 | 下のSQL文、間違えました。 select sum(c.kingaku) from (select syuusi,sum(kingaku) from suitoh_table where hiduke like '2007-5-%' group by syuusi having syuusi = '収入 union all select syuusi,sum(kingaku) * -1 from suitoh_table where hiduke like '2007-5-%' group by syuusi having syuusi = '支出) c group by c.syuusi; |
|---|---|
| 回答者:ikiss | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 07/05/24 16:40 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.2 | テスト環境がないので、実験的なこともかねて。 以下のSQLでは駄目ですかね? select syuusi sum(kingaku) from c group by c.syuusi (select syuusi,sum(kingaku) from suitoh_table where hiduke like '2007-5-%' group by syuusi having syuusi = '収入 union all select syuusi,sum(kingaku) * -1 from suitoh_table where hiduke like '2007-5-%' group by syuusi having syuusi = '支出) c; |
|---|---|
| 回答者:ikiss | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 07/05/24 16:37 |
|
| |
| この回答へのお礼 | 遅くなりましたが、回答ありがとうございました。 |
回答 |
|
| ANo.1 | 収入と支出のそれぞれの合算を、2レコードで取り出すように期待されている以上、できないと思います。 支出をマイナス値でセットしておけばあるいは…とも思いましたが、2レコードで取り出すことを期待されている以上、変数にセットして演算する必要があると思います。 |
|---|---|
| 回答者:TA-HT81S | |
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| 回答日時: 07/05/22 16:38 |
|
| |
| この回答へのお礼 | 遅くなりましたが、回答ありがとうございました。 |