试图创建一个视图

问题描述:

我想如下创建视图:试图创建一个视图

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; 

它给FOLL以下错误:

Error at line 1 
ORA-00906: missing left parenthesis 

而且我看不出有任何的右括号开放,你的帮助将非常感谢! 感谢

你在行收到错误:

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

改变它的东西,如:

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

WITHIN GROUP具有by子句用括号括起的订单。见here