2017-10-04 79 views
0

我試圖使用CREATE VIEW以及來自3個不同表格的兩個單元格之間的乘法的多個單元格。在某個地方有一個語法錯誤,但我似乎無法識別它。使用CREATE VIEW與多個表

CREATE VIEW ORDERS AS CustFirstname, CustLastName, o.Ordernumber AS OrderNumber, 
o. OrderDate AS OrderDate, o.ShipDate AS ShipDate, c.QuotedPrice, 
c.QuantityOrdered, c.QuotedPrice * c.QuantityOrdered AS ItemTotal FROM Customers 
NATURAL JOIN Orders o NATURAL JOIN Order_Details c 

我想要得到的輸出是 | CustFirstname | CustLastName |訂單號碼|訂購日期|並按ShipDate | ItemTotal |

更新:如果我取代「CREATE VIEW訂單AS」與「選擇」,似乎工作

+1

'CREATE VIEW ORDERS AS SELECT CustFirstname,...'正在工作嗎? – Arulkumar

回答

2

在您CREATE VIEW聲明你缺少查詢的SELECT

CREATE VIEW ORDERS AS 
    SELECT CustFirstname, CustLastName, o.Ordernumber AS OrderNumber, 
     o. OrderDate AS OrderDate, o.ShipDate AS ShipDate, c.QuotedPrice, 
     c.QuantityOrdered, c.QuotedPrice * c.QuantityOrdered AS ItemTotal 
    FROM Customers NATURAL JOIN Orders o NATURAL JOIN Order_Details c 

CREATE VIEW的定義,你可以看到一個select_statement要求:

CREATE 
    [OR REPLACE] 
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] 
    [DEFINER = { user | CURRENT_USER }] 
    [SQL SECURITY { DEFINER | INVOKER }] 
    VIEW view_name [(column_list)] 
    AS select_statement 
    [WITH [CASCADED | LOCAL] CHECK OPTION] 

你可以在上找到有關CREATE VIEW的更多信息。

+0

謝謝。我的理解是錯誤的,因爲我認爲使用創建視圖時不需要選擇 –

2

你缺少了最重要的說法是「選擇」。

​​
+0

感謝您的幫助 –