PG 7.1: VIEW returns fewer rows than equivalent select

Started by Bradley Kieserover 23 years ago2 messagesbugs
Jump to latest
#1Bradley Kieser
brad@kieser.net

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bradley Kieser (#1)
Re: PG 7.1: VIEW returns fewer rows than equivalent select

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