Re: Complex query need help with OR condition.

Поиск
Список
Период
Сортировка
От Jaime Casanova
Тема Re: Complex query need help with OR condition.
Дата
Msg-id 20041026195442.18330.qmail@web50001.mail.yahoo.com
обсуждение исходный текст
Ответ на Complex query need help with OR condition.  (Ken Tozier <kentozier@comcast.net>)
Список pgsql-general
 --- Ken Tozier <kentozier@comcast.net> escribió:
> I'm working on a query which works as expected when
> I leave out one of
> the "OR" tests but when the "OR" is included, I get
> hundreds of
> duplicate hits from a table that only contains 39
> items. Is there a way
> to write the following so that the "WHERE" clause
> tests for two
> possible conditions?
>
> Thanks for any help,
>
> Ken
>
>
> Here's the working query:
>
> SELECT a.paginator, a.doc_name, (b.time - a.time) as
> elapsed_time FROM
> pm_events as a, pm_events as b
>     WHERE a.event_code='pmcd'
>     AND b.event_code='pmcl'
>     AND a.doc_name=b.doc_name
>     AND a.paginator=b.paginator
>     AND a.time < b.time
>
> When I add the OR clause things go haywire:
>
> SELECT a.paginator, a.doc_name, (b.time -
> pm_events.time) as
> elapsed_time FROM pm_events as a, pm_events as b
>     WHERE a.event_code='pmcd'
>     OR a.event_code='pmop'
>     AND b.event_code='pmcl'
>     AND a.doc_name=b.doc_name
>     AND a.paginator=b.paginator
>     AND a.time < b.time
>
> Have also tried the following in the WHERE clause to
> no avail:
>
>     WHERE a.event_code IN {'pmcd', 'pmop'}
>     WHERE a.event_code=('pmcd' | 'pmop')
>
>


the query with the OR clause says:

SELECT a.paginator, a.doc_name, (b.time -
pm_events.time)
+++++++++

meanwhile the other one says:
SELECT a.paginator, a.doc_name, (b.time - a.time)
                                          +

Which pm_events table will the planner use a or b?? i
think in the second query you are confusing the
planner forcing a cartesian product.

regards,
Jaime Casanova

_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Base type OIDs
Следующее
От: Dan Sugalski
Дата:
Сообщение: Re: Base type OIDs