update TBADDRESS set ztitle=(SELECT top 1 ztitle from TBADDRESs where zid='W000000451') where zid='W000000456'

解决方案 »

  1.   

    update TBADDRESS set ztitle=(SELECT top 1 tem.ztitle from TBADDRESs tem where tem.zid='W000000451') where zid='W000000456'
      

  2.   

    子查询只能返回一个结果。
    所有用top 1
      

  3.   

    =(SELECT ztitle from TBADDRESs where zid='W000000451')这句话里可以检索到多个值,
     pengdali(大力 V3.0) 的方法能保证语句执行正确,但不保证得到的值是你希望的值。
      

  4.   

    看看有几条:
    select * from TBADDRESS where ztitle in (SELECT ztitle from TBADDRESs where zid='W000000451') and zid='W000000456'如果多与一条你的update语句就出问题了。
      

  5.   

    update TBADDRESS set ztitle=(SELECT top 1 tem.ztitle from TBADDRESs tem where tem.zid='W000000451') where zid='W000000456'还是有错呀。提示为:操作必须使用一个可更新的查询。。
      

  6.   

    update TBADDRESS set TBADDRESS.ztitle=(SELECT top 1 tem.ztitle from TBADDRESs tem where tem.zid='W000000451') where TBADDRESS.zid='W000000456'
      

  7.   

    你的TBADDRESS是什么东西?视图?
      

  8.   

    update TBADDRESS set ztitle=(SELECT top 1 tem.ztitle from TBADDRESs tem where tem.zid='W000000451') where zid='W000000456'单单上面的语句没这个错误出现,除非你有其它的语句