Re: Using count on a join, group by required?
От | Jose Ildefonso Camargo Tolosa |
---|---|
Тема | Re: Using count on a join, group by required? |
Дата | |
Msg-id | AANLkTi=gBQZ3kh0tGX1waM0OpPv9hB2S78NiDNrUCcv+@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Using count on a join, group by required? (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-sql |
On Wed, Aug 11, 2010 at 8:09 AM, Peter Eisentraut <peter_e@gmx.net> wrote: > On tis, 2010-08-10 at 22:21 -0430, Jose Ildefonso Camargo Tolosa wrote: >> And it works, it gives me something like: >> >> product_id | name | code | manufacturer_id | >> manufacturer_name | num_serials >> ------------+----------------------+---------------+-----------------+----------------------------+------------- >> 17 | THE product | 1235711131719 | 19 | >> THE product's manufacturer | 5 >> 6 | Car Battery 500A 12V | 7591512021575 | 8 | >> Acumuladores Duncan, C.A. | 11 >> 1 | Test product 1 | 123456789012 | 1 | >> Test Manufacturer | 6 >> >> Which is correct, and exactly what I wanted. >> >> So far, so good. The thing is: the group by clause, I had to add it >> because the parser forced me to, because it complained like this: >> >> ERROR: column "manufacturer.name" must appear in the GROUP BY clause >> or be used in an aggregate function >> >> and I had to include *all* the requested columns on the group by >> clause, can anybody tell me why? or at least point to some doc that >> help me understanding this? > > This is fixed in PostgreSQL 9.1devel (*); there you only need to put the > primary key into the GROUP BY clause. Earlier versions didn't know that > that was enough to ensure a deterministic result. > > (*) -- It will probably be a bit over a year before that is released. Ok, I see, so, in the meantime, just add all columns: no big deal, I was only curious on why. Thanks for your answer! Ildefonso.
В списке pgsql-sql по дате отправления: