2014-08-27 3 views
1

Je suis en train de créer une vue comme suit:Essayer de créer une vue

CREATE OR REPLACE VIEW film_list 
AS 
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, 
    LISTAGG(actor.first_name ||' '|| actor.last_name, ', ') WITHIN GROUP AS actors 
FROM 
    category LEFT JOIN film_category ON category.category_id = film_category.category_id 
       LEFT JOIN film ON film_category.film_id = film.film_id 
         JOIN film_actor ON film.film_id = film_actor.film_id 
         JOIN actor ON film_actor.actor_id = actor.actor_id 
GROUP BY 
    film.film_id, film.title, film.description, category.name, 
    film.rental_rate, film.length, film.rating; 

Son donnant l'foll erreur suivant:

Error at line 1 
ORA-00906: missing left parenthesis 

Et je ne vois aucune parenthèse ouverte, Votre aide serait très appréciée !! Merci

Répondre

3

Vous obtenez une erreur à la ligne:

LISTAGG(actor.first_name ||' '|| actor.last_name, ', ') WITHIN GROUP AS actors 

changer pour quelque chose comme:

LISTAGG(actor.first_name ||' '|| actor.last_name, ', ') WITHIN GROUP (ORDER BY actor.first_name) AS actors 
1

AU SEIN DU GROUPE a un ordre par la clause entourée par des parenthèses. Voir here

Questions connexes