外部結合のときのNULL値
外部結合の時のNULL値を他の値に置き換えることって出来たっけ?RDBMSはPostgreSQL。
部署情報に支払い済み給料合計を加えた表示の例
dept salary emp ---------- --------- ------- dept_id salary_id emp_id dept_name emp_id dept_id ... salary ... ...
create view dept_ex as select *, case when salary_sum is null then 0 else salary_sum end as dept_salary from dept left outer join( select dept_id, sum(salary) as salary_sum from salary join emp using(emp_id) group by dept_id ) as foo using(dept_id);
分からなかったのでcase文を使うことにした。
この例だと、外部結合時のNULLを自動的に0に置き換えたい。
フレームワークを使ってるとビューを多用するようになってきた。
取り敢えずビューさえ定義しておけばフレームワークが単一の表と同じように扱ってくれる。
これは便利だ。
以前某所でストアドプロシージャを使う使わないの議論があったけど、$dao->save($vo) の決まり文句を使うためにはSQLの関数で一気にデータを更新するのもアリかも。