-2

这是我试图解决的书中的问题..我需要创建此报告..

特定日期所有频道的节目列表,显示频道号、供应商、套餐、节目名称、评级代码和节目时间。这将类似于节目指南,只是不特定于包装。这是一个日期驱动的报告,因此它应该只显示指定的单个日期的程序。

到目前为止我试过这个..

CREATE VIEW PROG_LINEUP AS
SELECT DISTINCT
  PC.PROGTIME AS `SHOWTIME`,
  P.PROGNAME AS `PROGRAM TITLE`,
  C.CHID AS `CHANNEL #`,
  SU.SUPNAME AS `SUPPLIER`,
  R.RATING AS `RATING`
FROM
  PROG_CHAN PC,
  CHANNELS C,
  SUPPLIERS SU,
  PROGRAM P,
  CHANNEL_PACKAGE CP,
  RATING R
WHERE
  PC.SHOWDATE = '18-DEC-10'
  AND P.PROGID = PC.PROGID
  AND CP.CHID = PC.CHID
  AND R.RATINGID = P.RATINGID
  AND C.CHID = PC.CHID
  AND SU.SUPID = P.SUPID
ORDER BY PC.CHID;

但是当表 Prog_chan 存在时它会给出这个错误!我检查了..有什么问题?
请告诉我是否需要任何表格脚本。请帮忙...

WHERE PC.SHOWDATE = '18-DEC-10' AND
*
ERROR at line 13:
ORA-00903: invalid table name

我不知道出了什么问题,因为 Prog_chan 表存在并且其中也有值..

QL> desc prog_chan;
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
CHANID                                    NOT NULL NUMBER(5)
PROGID                                    NOT NULL NUMBER(5)
SHOWDATE                                  NOT NULL DATE
STARTTIME                                 NOT NULL DATE

@杰夫-

我删除了那个逗号,但现在是这个错误......

CHANNEL_PACKAGE CP, * ERROR at line 11: ORA-00942: table or view does not exist
4

1 回答 1

2

WHERE 子句前有一个错误的额外逗号。

RATING R,
WHERE PC.SHOWDATE = '18-DEC-10' AND
于 2012-06-14T11:50:15.570 回答