From: | Kyle <kyle(at)actarg(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Cc: | tgl(at)sss(dot)pgh(dot)pa(dot)us |
Subject: | Query broken under 7.1RC2 |
Date: | 2001-04-04 15:24:41 |
Message-ID: | 3ACB3CB9.CB5F0C46@actarg.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
This query worked under 7.0.3 but yields an error under 7.1RC1 or RC2.
The error message is:
psql:outbug.sql:43: ERROR: Sub-SELECT uses un-GROUPed attribute
h.ordnum from outer query
Tom, you patched util/clauses.c (near line 540) a while back to prevent
the same error message on a different query. This may be related.
The SQL is a little strange because the subquery tries to reference
individual records from the outer query and then sum them.
The more I look at it, I wonder if it is not just bad SQL. But the last
one I found like this turned out to reveal a bug, so here it is:
drop table ord_hdr;
drop table cinv_hdr;
drop table cinv_items;
drop table inc_link;
create table ord_hdr (
ordnum int4,
proj int4
);
create table cinv_hdr (
ordnum int4,
hinum int4,
status varchar
);
create table cinv_items (
ordnum int4,
hinum int4,
quant int4,
unit_price numeric(12,2)
);
create table inc_link (
ordnum int4,
hinum int4,
amount numeric(12,2)
);
select sum(i.quant*i.unit_price::float8),
(select coalesce(sum(amount),0) from inc_link where ordnum = h.ordnum
and hinum = h.hinum)
from cinv_hdr h, cinv_items i, ord_hdr o where
o.ordnum = h.ordnum and
h.ordnum = i.ordnum and
h.hinum = i.hinum and
o.proj = 1051 and
h.status = 'open'
;
Attachment | Content-Type | Size |
---|---|---|
kyle.vcf | text/x-vcard | 185 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Graham Vickrage | 2001-04-04 15:34:54 | Strategy for unlocking query |
Previous Message | Tom Lane | 2001-04-04 15:16:31 | Re: max( bool )? |