From: | "Walter Cruz" <walter(dot)php(at)gmail(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | help with pagila |
Date: | 2006-09-01 13:31:48 |
Message-ID: | 32cabba0609010631t233d13f9o38edba0483a2446c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi all. I'm with a little doubt.
I'm testing the pagila (the postgres port of mysql sakila sample).
Well, I was trying to translate the query:
select
film.film_id AS FID,
film.title AS title,
film.description AS description,
category.name AS category,
film.rental_rate AS price,
film.length AS length,
film.rating AS rating,
group_concat(concat(actor.first_name,_utf8' ',actor.last_name)
separator ',') AS actors
from
category
inner join film on(category.category_id = film.category_id)
inner join film_actor on(film.film_id = film_actor.film_id)
inner join actor on(film_actor.actor_id = actor.actor_id)
group by
film.film_id;
That cant be find here:
http://www.stardata.it/articoli_en/mysql_sample_db_articoli_en.html
I read a comment by David Fetter on a blog about group concat. I'm following
his example:
select
film.title AS title,
array_to_string(array_accum(actor.first_name || ' ' ||
actor.last_name),',')
AS actors
from
film
inner join film_actor on film.film_id = film_actor.film_id
inner join actor on film_actor.actor_id = actor.actor_id
GROUP BY film.title
But, when I add another column on select, like, film_description, I get the
following error:
"ERROR: column "film.description" must appear in the GROUP BY clause or be
used in an aggregate function"
If I put that column on GROUP BY everything works ok. But I want understant
why do I need to do that. Can someone teach me, please?
[]'s
- Walter
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Sullivan | 2006-09-01 15:21:16 | Re: help with pagila |
Previous Message | Aaron Bono | 2006-08-31 21:42:50 | Re: Trigger with Stored Procedure [Client Points] |