2017-02-02 4 views
0

Я продолжаю получать эту ошибку, и я не могу понять, почему. Если бы кто-нибудь мог помочь, это было бы высоко оценено.Ошибка синтаксиса SQL (отсутствующий оператор) в выражении запроса

Синтаксическая ошибка (отсутствующий оператор) в выражении запроса «(((сюжет. [Ежегодная плата]) Как "*")) UPDATE SET Plot Plot. [ежегодный плата] = IIF ([годовая плата] <, [годовая плата] + [годовая плата] * 15/100, [годовая плата] * 10/100);

Код:

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

Я отредактировал ваш вопрос, чтобы сделать его более читаемым, но не добавил никаких белых пробелов в запрос. Кажется, что вы пропускаете пробелы перед 'WHERE' и' UPDATE'. Может ли быть причиной этой ошибки? –

+1

@SergeyS. Ваше изменение изменило запрос! Возможно, вы устранили причину ошибки. Пожалуйста, никогда не меняйте код при редактировании вопросов. –

+0

Вызов функции 'IIF()' кажется неправильным. У вас есть: 'IIF ([годовой заряд] <, [годовой заряд] ...' (эллипсовый мины). Вам нужно что-то помимо запятой после первого «годового сбора». С чем вы хотите сравнить? – STLDeveloper

ответ

1

Попробуйте это:

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. по нужному номеру

0

вы можете проверить скобку. есть открывающая скобка без закрывающей скобки, если я не ошибаюсь. это может быть причиной вашей ошибки.

Смежные вопросы