2013-10-21 21 views
0

我想在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:缺少關鍵字」錯誤我一直在嘗試了一個多小時,並不能找出我在做什麼錯誤。有任何想法嗎?

* UPDATE編輯*

謝謝你們!

這是我更新的代碼:

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

呃,sch.ShowTime是什麼類型?它真的是一個字符串格式嗎?請注意,如果它是實際的日期/時間類型,請使用ISO格式使您的查詢更具可移植性(通常,查詢中使用的格式取決於服務器的區域設置;但ISO通常是普遍理解的......) –

回答

2

您在前4個連接上拼寫「Outer」錯誤。由於您的第一次加入是在第4行,這就是數據庫列出編譯錯誤的地方

+0

OMG ...多數民衆贊成在今天看到這個屏幕9小時以上!謝謝,我會解決我的拼寫問題,然後再試一次。 * derp face * – Michael

+0

@Michael通常我發現我的思維在10小時後變得更加銳利。渴望我的朋友 –

0

外部是不必要的。只需使用LEFT JOIN即可。 也是它的「外」而不是「外」。