DELETE t1 from (select 46890112180551680 as Idx union select 21022473344516096 as Idx) as b WHERE t1.Idx = b.Idx 由于联合体太长,需要省去 as idx ,能用数字表示列引用吗?
b.1 表示第一列?sql 2000 中是怎样表示的?DELETE t1 from (select 46890112180551680 union select 21022473344516096 ) as b WHERE t1.Idx = b.1 在线等待.

解决方案 »

  1.   

    order by 就可以
    其他的就不清楚
      

  2.   

    查mssql 联机帮助和google 未果,
    请高手提点下.
      

  3.   

    楼主是不是少了什么东西啊 怎么delete t1
    然后又 from ()
      

  4.   

    晕,怎么会不行,这是关系模型中有提到的啊,
    我看过高程的书里也有介绍,怎么mssql用不了.
      

  5.   

    这个一个删除记录问题,方法一:
    DELETE t1 where idx in (select 46890112180551680 union select 21022473344516096 [union select ...])方法二:
    DELETE t1 from (select 46890112180551680 as Idx union select 21022473344516096 as Idx) as b WHERE t1.Idx = b.Idx显然,大数据操作下方法二用联接关系来删除记录要比方法一快得多.
      

  6.   

    DELETE t1 from (select 46890112180551680 as Idx union select 21022473344516096) as b WHERE t1.Idx = b.Idx你看看这个行不?
    可以把第2个开始的“as Idx”省掉。
      

  7.   

    TO:tangqijun199
    OK,搞定了.
    呵呵,谢谢