2017-04-04 3 views
-2

Hier ist mein CodeSQL-Syntaxfehler bei oder in der Nähe von "ORDER"

SELECT 
    customerid, numseats, fistname, surname, totalcost 
FROM 
    leadcutomer, flightbooking; 
ORDER BY 
    'totalcost' DESC; 

Der Fehler, den ich bekommen ist:

ERROR: syntax error at or near "ORDER"

Ich bin mit PG Admin 4, was mit ihm los?

+5

Überflüssige ';' am Ende der 2. Zeile methinks. –

+0

[Schlechte Angewohnheiten zu treten: Verwenden von alten JOINs] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins. aspx) - Diese alte * durch Kommas getrennte Liste von Tabellen * style wurde durch die * richtige * ANSI 'JOIN'-Syntax im ANSI - ** 92 ** SQL Standard (** 25 Jahre **) und ihre ersetzt Es wird davon abgeraten, –

+2

'ORDER BY 'totalcost'' zu verwenden ... das sagt Postgres, dass es mit einer Zeichenfolge sortiert werden soll, was nicht viel Sinn ergibt. Verwenden Sie stattdessen 'ORDER BY totalcost'. –

Antwort

0

Sie haben mehr als ein Problem mit der Abfrage. Ich würde schreiben dies als:

SELECT customerid, numseats, firstname, surname, totalcost 
FROM leadcutomer l JOIN 
    flightbooking b 
    ON ?? = ?? 
ORDER BY totalcost DESC; 

Spezifische Themen:

  • Du einen CROSS JOIN tun und Hut ist wahrscheinlich nicht vorgesehen.
  • Sie verwenden ein Komma in der FROM Klausel anstelle der richtigen, expliziten JOIN Syntax.
  • Sie haben ein Semikolon am Ende der FROM Klausel.
  • Sie bestellen nach einer Konstanten statt nach einer Spalte.
+0

customerid SELECT bekommen, numseats, Vorname, Nachname, totalcost VON leadcustomer l JOIN Flugbuchung b ON Kunde.Kundennr = customerid ORDER BY DESC totalcost; –

+0

ich für Tabelle Kunde FROM-Klausel Eintrag bin fehlt, was mache ich falsch –

+0

@PeterHorvath 'customer' <>' leadcustomer'?.... –

Verwandte Themen