[pgsql-jp: 26710] Re: Likeの部分一致で検索
森元 秀明
morimoto @ 34com.net
2002年 7月 17日 (水) 12:56:55 JST
こんにちは、森元です。
> ==ヒット件数取得==
> SELECT Count(*) As cnt FROM tbl
> WHERE
> ( (
> tbl.keyword1 ILIKE '%windows%'
> OR tbl.keyword2 ILIKE '%windows%'
> OR tbl.keyword3 ILIKE '%windows%'
>
(かなり略)
このソースは実際のものですか?配列とかで処理してるのでしょうか?
PHPなどを使用して配列で検索ってのもできると思うのですが。。。
ついでにヒット件数とデータ取得も1つのセレクトだけで済むような気がするのは私
だけ?
ちなみに、PHPでの記述例
$sql = "select id from tbl
where ((keyword1 ILIKE '%".$searchword[0]."%')
or (keyword2 ILIKE '%".$searchword[0]."%')
or (keyword3 ILIKE '%".$searchword[0]."%') or ・・・))";
for ($i=1;$1 < sizeof($searchword);$i++){
$sql.= "or ((keyword1 ILIKE '%".$searchword[$i]."%')
or (keyword2 ILIKE '%".$searchword[$i]."%')
or (keyword3 ILIKE '%".$searchword[$i]."%') or ・・・))";
}
$result = pg_exec($dbHandle, $sql); //SQL文実行
$resultNumRows = pg_numrows($result);//検索件数取得
こんな感じだと思うのですが。。。解決にならないかもしれませんが、気になったん
で
pgsql-jp メーリングリストの案内