创建视图查询不起作用

时间:2012-06-14 11:47:52

标签: sql oracle sqlplus

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

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

到目前为止我试过了..

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

@Jeff -

我删除了逗号,但现在出现错误......

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

1 个答案:

答案 0 :(得分:2)

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

RATING R,
WHERE PC.SHOWDATE = '18-DEC-10' AND