Re: [SQL] problem with select

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [SQL] problem with select
Дата
Msg-id 5585.936024234@sss.pgh.pa.us
обсуждение исходный текст
Ответ на problem with select  (Holm Tiffe <holm@freibergnet.de>)
Ответы Re: [SQL] problem with select  (Holm Tiffe <holm@freibergnet.de>)
Список pgsql-sql
Holm Tiffe <holm@freibergnet.de> writes:
> What I try to find is a solution for a search in this table like this:

> select distinct code,category from products where code ~* 'abc' or
> category ~* 'abc' or manufacturer ~* 'abc' or description ~* 'abc'
> or comment ~* 'abc' order by code;

> So far so good, but I have the problem that I have the value 'abc'
> only one times !

How about

select distinct code,category from products where
(code || category || manufacturer || ...) ~* 'abc';

Actually you'd probably want to also concatenate some separator markers,
maybe (code || '|' || category || ...), so that you didn't get bogus
matches across fields, like where code ends in 'a' and category starts
with 'bc'.

Note that this select will be a bit of a memory hog because
text-slinging is very wasteful of space in 6.5 (the intermediate results
from the concatenate operators don't get freed till end of transaction).
So it might not be workable if you have a large database.  I hope to see
that fixed for 6.6 or 6.7.
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] Questions about vacuum analyze
Следующее
От: Herouth Maoz
Дата:
Сообщение: Re: [SQL] Doubts in timespan