Hi,
This query:
select p.id_person, person_name(p), array_accum(distinct pt.type_fr)
from person p
left join person_to_event x using (id_person)
left join person_type pt using (id_person_type)
where person_name(p) ilike '%will%'
group by p.id_person,person_name(p);
returns:
id_person | person_name | array_accum
-----------+----------------------+-------------------------------
181 | William Eggleston | {comédien}
200 | William H.Macy | {comédien}
242 | William Nicholson | {auteur}
309 | William Friedkin | {réalisateur}
439 | William Shakespeare | {auteur}
591 | William Christie | {musicien}
786 | Paul Andrew Williams | {réalisateur}
1015 | William Mesguich | {comédien,"metteur en scène"}
But if I append this
order by pt.type_fr = 'comédien';
I get this error:
ERROR: column "pt.type_fr" must appear in the GROUP BY clause or be
used in an aggregate function
It seems I am using pt.type_fr in an aggregate function (array_accum()),
yet I get the error.
Is there a way to to have a certain pt.type_fr bubble up (or down) in my
search?
Thanks,
--
http://www.critikart.net
--
Sent via pgsql-sql mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql