2017-10-04 3 views
0

Ich versuche, die CREATE VIEW zusammen mit mehreren Zellen aus 3 verschiedenen Tabellen mit der Multiplikation zwischen zwei Zellen zu verwenden. Irgendwo ist irgendwo ein Syntaxfehler, aber ich kann ihn nicht identifizieren.Verwenden von CREATE VIEW mit mehreren Tabellen

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 

Die Ausgabe erhalte ich bin versucht, ist | CustFirstname | CustLastName | Auftragsnummer | Bestelldatum | ShipDate | ItemTotal |

Update: Wenn ich „CREATE VIEW-Aufträge als“ mit „SELECT“ ersetzen scheint es

+1

'CREATE VIEW ORDERS WÄHLEN CustFirstname, ...' funktioniert? – Arulkumar

Antwort

2

Auf Ihrer CREATE VIEW Anweisung Sie die SELECT der Abfrage fehlen:

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 

Auf der Definition von CREATE VIEW können Sie sehen, ein select_statement erforderlich:

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] 

Sie finden Sie weitere Informationen über CREATE VIEW auf der official docs.

+0

Danke. Mein Verständnis war falsch, da ich dachte, dass Auswahl nicht erforderlich war, wenn Sie create view verwenden –

2

Sie vermissen die wichtigste Aussage zu arbeiten, die „SELECT“ ist.

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 
+0

Danke für die Hilfe –