[pgsql-jp: 28763] Re: SQL文での条件判定について

Iso, Toshitaka Toshitaka.Iso @ hp.com
2003年 1月 24日 (金) 20:31:19 JST


宇野さん。

たびたびご回答いただきありがとうございます。

> で、一つうっかりしていました。
> col3が 0400 0500 0600 0700 0300 0200 0100 のいずれでもないデータは
> 表示しないようにしたいんですよね。

そうです!自分では情けないことに気づけなかったですが。。

本当にありがとうございます!!

-----Original Message-----
From: UNO Shintaro [mailto:uno @ venus.dti.ne.jp] 
Sent: Friday, January 24, 2003 8:26 PM
To: pgsql-jp @ ml.postgresql.jp
Subject: [pgsql-jp: 28762] Re: SQL文での条件判定について


>ただまだ何をやっているのか理解していないので、
>じっくり理解してみますね。

基本的な考え方は、
「優先順位が、col2でくくったグループ内での最高優先順位と同じであれば
表示する」です。優先順位の計算を、POSITION関数で表現しています。

で、一つうっかりしていました。
col3が 0400 0500 0600 0700 0300 0200 0100 のいずれでもないデータは
表示しないようにしたいんですよね。


SELECT * FROM a
 WHERE POSITION( '*' || col3 || '*' IN '*0100*0200*0300*0700*0600*0500*0400*') > 0
   AND POSITION( '*' || col3 || '*' IN '*0100*0200*0300*0700*0600*0500*0400*')
     = (SELECT MAX(POSITION( '*' || col3 || '*' IN '*0100*0200*0300*0700*0600*0500*0400*'))
          FROM a a2 WHERE a.col2=a2.col2)


なんだかみにくくなってきちゃいましたけど・・・。


-- 
UNO Shintaro, 宇野 信太郎
mailto:uno @ venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/



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