[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 メーリングリストの案内