【问题标题】:SQL Server query with update error from select query来自选择查询的更新错误的 SQL Server 查询
【发布时间】:2016-08-05 06:35:14
【问题描述】:
update ItinventoryR1 
set iin_userid = (select emp.empid 
                  from employee emp, itinventoryr1 it 
                  where ltrim(rtrim(it.iin_username)) in (emp.empname))

错误是:

子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    我猜你需要这样的东西:

    UPDATE R1
    SET iin_userid = emp.empid
    FROM itinventoryr1 R1
    INNER JOIN employee emp
        ON ltrim(rtrim(R1.iin_username)) = emp.empname
    

    加入表,并更新其中一个。

    【讨论】:

      【解决方案2】:

      试试这个

      update t1 
      set t1.iin_userid =t2.emp_id
      from ItinventoryR1 as t1 inner join employee emp as t2
      on ltrim(rtrim(t1.iin_username))=t2.empname
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多