2017-02-02 7 views
0

Ich bekomme diesen Fehler immer und ich kann nicht herausfinden, warum. Wenn jemand helfen könnte, wäre es sehr geschätzt.SQL-Syntaxfehler (fehlender Operator) im Abfrageausdruck

Syntaxfehler (fehlender Operator) in Abfrageausdruck ‚(((Plot. [Jährliche Gebühr]) Wie "*")) UPDATE Grundstück Plot. [jährliche Gebühr] = IIF ([jährliche Gebühr] <, [jährliche Gebühr] + [jährliche Gebühr] * 15/100, [jährliche Gebühr] * 10/100);

Code:

SELECT plot.[annual charge] 
FROM (
    (
     member INNER JOIN plot ON (member.[member number] = plot.[member table]) 
      AND (member.[member number] = plot.[member table]) 
      AND (member.[member number] = plot.[member table]) 
     ) INNER JOIN produce ON plot.[plot number] = produce.[plot number] 
    ) 
INNER JOIN vegetables ON produce.[vegtable name] = vegetables.[vegetable name]WHERE (((plot.[annual charge]) LIKE "*"))UPDATE Plot 
SET Plot.[annual charge] = IIF([annual charge] <, [annual charge] + [annual charge] * 15/100, [annual charge] * 10/100); 
+0

Ich habe Ihre Frage bearbeitet, um sie lesbarer zu machen, habe der Abfrage jedoch keine Leerzeichen hinzugefügt. Es scheint, dass Sie vor 'WHERE' und' UPDATE' weiße Leerzeichen vermissen. Könnte das der Grund für diesen Fehler sein? –

+1

@SergeyS. Ihre Bearbeitung hat die Abfrage geändert! Es ist möglich, dass Sie dadurch den Grund für den Fehler entfernt haben. Bitte ändern Sie niemals den Code, wenn Sie Fragen bearbeiten. –

+0

Ihr Funktionsaufruf 'IIF()' scheint falsch zu sein. Sie haben: 'IIF ([jährliche Gebühr] <, [jährliche Gebühr] ...' (Ellipse meins). Sie brauchen etwas neben einem Komma nach dem ersten "[jährliche Gebühr]". Mit was möchten Sie es vergleichen? – STLDeveloper

Antwort

1

Try this:

UPDATE (
     (
      member INNER JOIN plot ON (member.[member number] = plot.[member table]) 
       AND (member.[member number] = plot.[member table]) 
       AND (member.[member number] = plot.[member table]) 
      ) INNER JOIN produce ON plot.[plot number] = produce.[plot number] 
     ) 
INNER JOIN vegetables ON produce.[vegtable name] = vegetables.[vegetable name] 
WHERE (((plot.[annual charge]) LIKE "*")) 
SET Plot.[annual charge] = IIF([annual charge] < 1000000, [annual charge] + [annual charge] * 15/100, [annual charge] * 10/100); 

1000000 Ersetzen durch gewünschte Anzahl

0

Sie möchten Ihre Klammer überprüfen. Es gibt eine öffnende Klammer ohne schließende Klammer, wenn ich mich nicht irre. das könnte die Ursache für Ihren Fehler sein.

Verwandte Themen