help with pagila

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

Responses

Browse pgsql-sql by date

  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]