UPDATE [SRO_VT_ACCOUNT].[dbo].[SK_Silk] 
  set silk_own= silk_own+10 
  where SELECT UserJID,silk_own FROM [SRO_VT_SHARD].[dbo].[_OnOffline] a left join [SRO_VT_SHARD].[dbo].[_User] b on a.CharID = b.CharID where CStatus='ONline'
帮忙看看那怎么写WHERE SELECT的写法错误。应该怎么写
  

解决方案 »

  1.   


    UPDATE [SRO_VT_ACCOUNT].[dbo].[SK_Silk] 
      set silk_own= silk_own+10 
      FROM [SRO_VT_SHARD].[dbo].[_OnOffline] a left join [SRO_VT_SHARD].[dbo].[_User] b on a.CharID = b.CharID where CStatus='ONline' + 条件
      

  2.   


    其中FROM [SRO_VT_SHARD].[dbo].[_OnOffline] a left join [SRO_VT_SHARD].[dbo].[_User] b on a.CharID = b.CharID的作用怎么理解 ?
      

  3.   

    列名 'silk_own' 不明确。 提示这个应该怎么写
      

  4.   

    哈哈,你一个问题好像发了两次啊,我也来回答一下,接点小分
    UPDATE s 
      set s.silk_own= t.silk_own+10  --此处不确定你是要用哪一个的 silk_own,是s还是t,你自己改就好了
      from [SRO_VT_ACCOUNT].[dbo].[SK_Silk] s
      join (
           SELECT UserJID, silk_own 
           FROM [SRO_VT_SHARD].[dbo].[_OnOffline] a 
           left join [SRO_VT_SHARD].[dbo].[_User] b 
           on a.CharID = b.CharID where CStatus='ONline'
           ) t
        on s.JID = t.UserJID