From: | "Josh Berkus" <josh(at)agliodbs(dot)com> |
---|---|
To: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: 7.0.3 and 7.1.3 different results? |
Date: | 2001-10-03 17:07:58 |
Message-ID: | web-140986@davinci.ethosmedia.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Stephan,
> Actually it seems to me that one NULL row is correct...
>
> 7.9 <query specification>
> 1) Case:
> a) If T is not a grouped table, then
You are correct according to the SQL spec.
However, depending on what interface I use for the database, I can get
an empty recordset rather than a single NULL row. This has more to do
with the interface translation (such as ODBC) than it does with what
PostgreSQL is returning.
Partly I think this is DB vendors and interpreters getting confused over
a consistency issue between SELECT SUM() and SELECT SUM() ... GROUP BY.
SELECT sum(totalamount)
FROM invoices
WHERE invoice_no > invoice_no;
-----------
NULL
SELECT invoice_no, sum(totalamount)
FROM invoices
WHERE invoice_no > invoice_no
GROUP BY invoice_no;
invoice_no|sum
--------------
(empty recordset)
Obviously not particularly troublesome behavior, as these results seem
to be more or less consistent across most vendor implementations. Plus
in many languages the tests for NULL and empty recordset overlap or are
easily combined. And this is pretty clearly defined in SQL 92, as you
point out.
-Josh
P.S. Can you answer my question about indexing, please please?
______AGLIO DATABASE SOLUTIONS___________________________
Josh Berkus
Complete information technology josh(at)agliodbs(dot)com
and data management solutions (415) 565-7293
for law firms, small businesses fax 621-2533
and non-profit organizations. San Francisco
From | Date | Subject | |
---|---|---|---|
Next Message | Chris Ruffin | 2001-10-03 17:33:22 | challenging query |
Previous Message | guard | 2001-10-03 17:04:30 | select 5/2??? |