Обсуждение: PG 7.1: VIEW returns fewer rows than equivalent select

Поиск
Список
Период
Сортировка

PG 7.1: VIEW returns fewer rows than equivalent select

От
Bradley Kieser
Дата:
Hi,

I created a view with this SQL:

create view category_type
as
select l1.id as cat_id, l1.description as cat_desc,l2.id as cat_typ_id,
        l2.description as cat_type_desc,p.id as link_id
from levels l1
join product_category p  on  p.category = l1.id
                         and  p.category_type=9
join product_category p2 on  p2.product = p.product
                         and  p2.category_type=17
join levels l2           on  p2.category = l2.id
;

When I run it, it returns 36 rows.

Now, if I cut and paste simply the SELECT part and run it, I get the
correct number of rows, 170.

The last column (link_id) ensures that these rows are not duplicate so
this is not a duplicate thing and I can see rows that should be there
but are not.

I am running PG7.1 on Mandrake 8.1 (Linux).

Brad

Re: PG 7.1: VIEW returns fewer rows than equivalent select

От
Tom Lane
Дата:
Bradley Kieser <brad@kieser.net> writes:
> When I run it, it returns 36 rows.

> Now, if I cut and paste simply the SELECT part and run it, I get the
> correct number of rows, 170.

If you can reproduce this on something more recent than 7.1, I'd
appreciate seeing a complete (self-contained) example.  I recall having
seen some problems like this with INTERSECT/EXCEPT queries, but not
with plain inner joins ...

            regards, tom lane