[pgsql-jp: 34399] WHERE句がことなるが同一GROUP BY でくくりたい

it_555_it @ excite.co.jp it_555_it @ excite.co.jp
2004年 12月 6日 (月) 11:27:55 JST


島田と申します。
お世話様です。

SQLに関する質問です。

以下のようなテーブルがあったとします。

id
initial_cost
rental_price
start_day

こんな感じでSQLを発行しています。

SELECT id, sum(initial_cost) FROM tbl
WHERE start_day BETWEEN '2003/3/1' AND '2004/1/1'
GROUP BY id

 id      |   sum
---------+---------
 101     |   35000
 102     |       0
 103     | 3210200
 105     |   10000
 106     |  240000
 108     |

SELECT sum(rental_price) FROM tbl
WHERE start_day <= '2004/1/1'
GROUP BY id

 id      | sum
---------+------
 103     | 5000

WHERE句が同一であれば、

SELECT id, sum(initial_cost) AS ini, sum(rental_price)AS ren FROM tbl 
WHERE start_day <= '2004/1/1'
GROUP BY id

と1行で書けるわけですが、
上記のように条件が異なる場合、
1回のSQLで書くことってできないんでしたっけ。

 id      |   ini       |  ren
---------+----------------------
 101     |   35000
 102     |       0
 103     | 3210200     | 5000
 105     |   10000
 106     |  240000
 108     |

こんな風に出てくると幸せだなあ、などと。

よろしくお願い致します。




pgsql-jp メーリングリストの案内