[pgsql-jp: 25021] Re: 翻訳状況を比較する SQL
SUGIMURA Takashi 杉村 貴士
sugimura @ infoscience.co.jp
2002年 2月 28日 (木) 16:31:46 JST
杉村です。
> > select path,en.updated as 英語版,ja.updated as 日本語版
> > from (select * from docctrl where ccode = 'en') as en
> > left join (select * from docctrl where ccode = 'ja') as ja
> > using(path)
> >
> > ではどうでしょう?
>
> すばらしい。自分には魔法の呪文みたいだ。。。
>
> そのままいただきます。あとは cron で回してっと。。。
そうなるとまた同じような問題が発生したときには
また人に頼るということになってしまいます。。
細かく見ればそんなに難しいことではないかと思います。
(1) select path, en.updated, ja.updated from en, ja;
(2) select * from docctrl where ccode = 'en'; ----> (1) の en とする
(3) select * from docctrl where ccode = 'ja'; ----> (1) の ja とする
は簡単ですよね。
あとはどう組み合わせるか、ということですが
en left outer join ja using(path) は結合する相手がなくても null で埋める
というものです。
きしださんの回答では left outer join を left join と書いてますが、
意味は同じです。
using(path) は en.path = ja.path のようなものだと思えばよいでしょう。
# 石井さんの本にすべて載ってます。。
---
インフォサイエンス株式会社 プロダクト開発チーム
杉村 貴士 <sugimura @ infoscience.co.jp>
TEL: 03-5427-3509(直通), 03-5427-3500(代表) FAX: 03-5427-3530
pgsql-jp メーリングリストの案内