Re: Phantom record problem.
| От | Poul L. Christiansen |
|---|---|
| Тема | Re: Phantom record problem. |
| Дата | |
| Msg-id | 3957A234.C56AD931@faroenet.fo обсуждение исходный текст |
| Ответ на | Phantom record problem. (Richard <blackw@sfu.ca>) |
| Список | pgsql-novice |
I think that is suppose to happen when no records are returned. But I must admit that it would be more meaningful, to return a 0 instead of an empty string. Poul L. Christiansen Richard wrote: > I am experiencing a problem whereby when I submit a query containing an > aggregate, and if the WHERE clause is not satisfied, I receive a result > of "(1 row)", but that row is blank. > > Here is an example: > > Table 1: Customers > > Name | UID > ---------------------- > Andrews | 1 > Smith | 2 > Jones | 3 > Baker | 4 > > Table 2: Deposits > > UID | Amount > ---------------------- > 3 | 7.00 > 1 | 15.00 > 1 | 10.00 > 2 | 8.00 > 3 | 20.00 > > Now, if I submit the following query: > > SELECT name, sum(amount) > FROM customers c, deposits d > WHERE c.uid = d.uid and c.uid = 3 > GROUP BY name; > > I get back: > > name | sum > -------------------- > Jones | 27.00 > (1 row) > > Fine, this looks good. > > BUT, if I submit the following query: > > SELECT name, sum(amount) > FROM customers c, deposits d > WHERE c.uid = d.uid and c.uid = 5 > GROUP BY name; > > (note that there is no record where c.uid=5) I would not expect any rows > back. However, I get: > > name | sum > -------------------- > | > (1 row) > > Is this a bug, or is it supposed to work this way? I've tried this on > both versions 6.5.2 and 6.5.3 with the same result. > > Any insight would be appreciated. Thank-you. > > Cheers, > Richard
В списке pgsql-novice по дате отправления: