0
  1. PL/SQL (単純なクエリではない) と劇場データベースを使用: 映画「STATE OF THE UNION」の平均チケット価格をレポートします。</li>

データベース ticket_price には Ticket_type として PK があり、movie には movie_ID の PK があります

ここに私のコードがあります

SET SERVEROUTPUT ON
DECLARE
V_MOVIE_TITLE
MOVIE_TITLE.MOVIE%TYPE;
V_AVG_PRICE
PRICE.TICKET_PRICE%TYPE;
BEGIN
SELECT MOVIE_TITLE INTO V_MOVIE_TITLE 
FROM MOVIE,
(SELECT AVG(PRICE) INTO V_AVG_PRICE FROM TICKET_PRICE)
TICKET_PRICE
WHERE MOVIE_TITLE = 'STATE OF THE UNION';
DBMS_OUTPUT.PUT_LINE ('MOVIE NAME       AVERAGE PRICE');
DBMS_OUTPUT.PUT_LINE ('======================================');
DBMS_OUTPUT.PUT_LINE (' ' || V_MOVIE_TITLE.MOVIE_ID || '        ' || V_AVG_PRICE.TICKET_PRICE);
END;
/

エラーはサブクエリ avg(price) にあるようです。これを正しく実行するにはどうすればよいですか?

4

1 に答える 1

0
SET SERVEROUTPUT ON
DECLARE
V_MOVIE_TITLE
MOVIE_TITLE.MOVIE%TYPE;
V_AVG_PRICE
PRICE.TICKET_PRICE%TYPE;
BEGIN
SELECT MOVIE_TITLE INTO V_MOVIE_TITLE 
FROM MOVIE WHERE MOVIE_TITLE = 'STATE OF THE UNION';

SELECT AVG(PRICE) INTO V_AVG_PRICE FROM TICKET_PRICE TICKET_PRICE;

DBMS_OUTPUT.PUT_LINE ('MOVIE NAME       AVERAGE PRICE');
DBMS_OUTPUT.PUT_LINE ('======================================');
DBMS_OUTPUT.PUT_LINE (' ' || V_MOVIE_TITLE.MOVIE_ID || '        ' || V_AVG_PRICE.TICKET_PRICE);
END;
/
于 2013-09-26T00:25:47.067 に答える