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
这是我的查询,我收到此错误:
Msg 102,Level 15,State 1,Line 1
附近的语法不正确
','。
答案 0 :(得分:1)
问题很可能是你混淆了你使用的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'
有关详细信息,请参阅update statement上的ms sql server参考
答案 1 :(得分:1)
我会这样(在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'