[pgsql-jp: 28760] Re: SQL文での条件判定について
UNO Shintaro
uno @ venus.dti.ne.jp
2003年 1月 24日 (金) 19:43:45 JST
>確かにテーブルを追加すれば出来そうなのですが
>テーブルを追加するのは厳しそうなんです。
>P.S. すみません。優先順位は
>0400>0500>0600>0700>0300>0200>0100
>の間違いでした。。
こんな方法はいかがでしょう。
uno=# select * from a;
col1 | col2 | col3
------+----------+------
1 | 10000000 | 0100
2 | 10000000 | 0200
3 | 10000000 | 0300
4 | 10000000 | 0400
5 | 10000000 | 0500
6 | 10000000 | 0600
7 | 10000000 | 0700
8 | 10000000 | 0800
9 | 10000000 | 0900
10 | 10000000 | 1000
11 | 11000000 | 0200
12 | 11000000 | 0300
13 | 11000000 | 0600
14 | 12000000 | 0300
(14 rows)
uno=# SELECT * FROM a
uno-# WHERE POSITION( '*' || col3 || '*' IN '*0100*0200*0300*0700*0600*0500*0400*')
uno-# = (SELECT MAX(POSITION( '*' || col3 || '*' IN '*0100*0200*0300*0700*0600*0500*0400*'))
uno(# FROM a a2 WHERE a.col2=a2.col2)
uno-# ;
col1 | col2 | col3
------+----------+------
4 | 10000000 | 0400
13 | 11000000 | 0600
14 | 12000000 | 0300
(3 rows)
uno=#
--
UNO Shintaro, 宇野 信太郎
mailto:uno @ venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/
pgsql-jp メーリングリストの案内