Что не так в этом SQL-запросе? - PullRequest
0 голосов
/ 09 мая 2018
update v, s
set v.closed = 'Y' 
where v.closed <> 'y' 
  and v.canceldate < '12.01.2017'  
  and s.salesrep1 = 'bd' 
  and v.orderno = s.orderno

Это мой запрос, и я получаю эту ошибку:

Сообщение 102, Уровень 15, Состояние 1, Строка 1
Неверный синтаксис рядом с ','.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Я бы сделал так (на сервере sql)

update v
set v.closed = 'Y' 
From v inner join s 
On v.orderno = s.orderno
    Where v.closed <> 'y' 
    and v.canceldate < '12.01.2017'  
    and s.salesrep1 = 'bd' 
0 голосов
/ 09 мая 2018

Скорее всего, проблема в том, что вы перепутали, какой продукт rdbms вы используете. Сообщение об ошибке от MS SQL Server, в то время как вопрос (ну, был) был помечен как mysql.

Синтаксис, использованный в вопросе, разрешен в mysql, но не разрешен в MS Sql Server, поэтому появляется сообщение об ошибке.

В MS Sql Server попробуйте следующий синтаксис:

update v set v.closed = 'Y' 
from v inner join s 
on v.orderno = s.orderno
    where v.closed <> 'y' 
        and v.canceldate < '12.01.2017'  
        and s.salesrep1 = 'bd' 

Подробнее см. Справку по серверу ms sql в операторе обновления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...