我正在尝试在SQL中生成报告,但我一直遇到错误。
这是我的代码:
CREATE VIEW REPORT1 AS
SELECT c.ChannelNumber, s.SupplierName, p.PackageID, pro.ProgramName, r.RatingCode, sch.ShowTime
FROM Program pro
LEFT OUTTER JOIN Rating r
ON pro.RatingID = r.ratingID
LEFT OUTTER JOIN Supplier s
ON pro.SupplierID = s.SupplierID
LEFT OUTTER JOIN Schedule sch
ON pro.ProgramID = sch.ProgramID
LEFT OUTTER JOIN Channel c
ON shc.ChannelID = c.ChannelID
LEFT OUTER JOIN ChannelPackage cp
ON ch.ChannelID = cp.ChannelID
LEFT OUTER JOIN Package p
ON cp.PackageID = p.PackageID
WHERE sch.ShowTime = '14-OCT-13'
ORDER BY ch.ChannelNumber, p.ProgramName;
我在第4行中一直收到错误,指出“ORA-00905:丢失关键字”我已经尝试了一个多小时而无法弄清楚我做错了什么。有什么想法吗?
*更新编辑*
谢谢你们!
这是我更新的代码:
CREATE VIEW REPORT1 AS
SELECT c.ChannelNumber, s.SupplierName, p.PackageID, pro.ProgramName, r.RatingCode, sch.ShowTime
FROM Program pro
LEFT JOIN Rating r ON pro.RatingID = r.ratingID
LEFT JOIN Supplier s ON pro.SupplierID = s.SupplierID
LEFT JOIN Schedule sch ON pro.ProgramID = sch.ProgramID
LEFT JOIN Channel c ON sch.ChannelID = c.ChannelID
LEFT JOIN ChannelPackage cp ON c.ChannelID = cp.ChannelID
LEFT JOIN Packages p ON cp.PackageID = p.PackageID
WHERE sch.ShowTime = &ShowTime
ORDER BY c.ChannelNumber, pro.ProgramName;
该报告现在可以正常工作,但它仍然没有正确显示频道编号,但我认为这是由于我在开始时配置表格的错误。
答案 0 :(得分:2)
你在前4个连接中拼错了“外”错误。由于您的第一次联接是在第4行,因此DB列出了编译错误
答案 1 :(得分:0)
外面是不必要的。只需使用LEFT JOIN。 它的"外部"不是" outter"。