更新语句在SQL中失败

XYZ

下面的更新语句给我错误,请纠正我要去哪里的错误

消息102,级别15,状态1,行1
i附近的语法不正确

消息102,级别15,状态1,第20行
u附近的语法不正确

代码:

Update [dbo].[ManPlan_Prescriber_Roster] i  
set i.territory_no = u.territory_no,  
    i.key_sales_force = u.key_sales_force,  
    i.territory_type_id = u.territory_type_id,  
    i.territory_type_descr = u.territory_type_descr,  
    i.last_name = u.last_name,  
    i.first_name = u.first_name,  
    i.mi = u.mi,  
    i.territory_orig_assign_dt = u.territory_orig_assign_dt,  
    i.territory_strt_dt = u.territory_strt_dt,  
    i.email_address = u.email_address,  
    i.cell_phone = u.cell_phone,  
    i.fcl_addr1 = u.fcl_addr1,  
    i.fcl_city = u.fcl_city,  
    i.fcl_st = u.fcl_st,  
    i.fcl_zip = u.fcl_zip  
from 
    [dbo].[ManPlan_Prescriber_Roster] m  
join 
    (select 
         territory_no,  
         key_sales_force,  
         territory_type_id,  
         territory_type_descr,  
         last_name,  
         first_name,  
         mi,  
         territory_orig_assign_dt,  
         territory_strt_dt,  
         email_address,  
         cell_phone,  
         fcl_addr1,  
         fcl_city,  
         fcl_st,  
         fcl_zip 
     from 
         [dbo].[RepRosterUpd$]  
     where 
         filedt = '2016-05-18') u on m.territory_no = u.territory_no 
                                  and m.key_sales_force = u.key_sales_force
                                  and m.territory_type_id = u.territory_type_id

谢谢

marc_s

如果您要在from子句中使用要更新的表,并在该子句中为其提供别名(在此处:)m,那么您也必须UPDATE语句中使用该别名UPDATE m SET .....-您不能在表的顶部使用另一个别名“重新定义”该表你的UPDATE陈述

试试这个:

Update m              // use the alias you've defined on the FROM line!
set m.territory_no = u.territory_no,  
    m.key_sales_force = u.key_sales_force,  
    ......
    m.fcl_zip = u.fcl_zip  
from 
    [dbo].[ManPlan_Prescriber_Roster] m   // use this alias in UPDATE 
join 
    (select 
         territory_no,  
         key_sales_force,  
         .....
         fcl_zip 
     from 
         [dbo].[RepRosterUpd$]  
     where 
         filedt = '2016-05-18') u on m.territory_no = u.territory_no 
                                  and m.key_sales_force = u.key_sales_force
                                  and m.territory_type_id = u.territory_type_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SQL Server中递归更新语句

来自分类Dev

Java SQL更新语句

来自分类Dev

选择SQL更新语句

来自分类Dev

更新语句中的类型转换失败

来自分类Dev

更新语句中SQL中的动态列名

来自分类Dev

在SQL Server中动态转换更新语句值

来自分类Dev

在SQL Server中构造许多更新语句

来自分类Dev

Java Sql更新语句。处理引号中的空值

来自分类Dev

访问中的SQL更新语句的语法错误

来自分类Dev

Asp.Net SQL更新语句

来自分类Dev

SQL更新语句,但使用pyodbc

来自分类Dev

SQL Server更新语句执行

来自分类Dev

SQL更新语句:“ FROM”附近的OperationalError

来自分类Dev

简单SQL更新语句上的错误

来自分类Dev

如何压缩多个更新语句-SQL

来自分类Dev

Realm android中的更新语句

来自分类Dev

数据步骤中的更新语句

来自分类Dev

Oracle中的多个更新语句

来自分类Dev

将SQL更新语句转换为View语句

来自分类Dev

复杂的更新语句

来自分类Dev

更新语句在SQL存储过程中不起作用

来自分类Dev

包含聚合的更新语句在SQL Server中不起作用

来自分类Dev

SQL更新语句的WHEN部分中具有多个参数

来自分类Dev

如何在一个宏中合并多个SQL更新语句?

来自分类Dev

使用 PL/SQL 在 Oracle 中使用 Excel 表中的列作为更新语句中的输入

来自分类Dev

另一个表中基于 SQL 更新语句的唯一值

来自分类Dev

MS-SQL Server:为什么更新语句在 If-Block 中不起作用?

来自分类Dev

在select语句(mysql)中满足条件之后更新语句

来自分类Dev

Oracle SQL更新语句以什么顺序更改列值?