delete from a where cast(s as char) + cast(t as char) in (select cast(s1 as char) + cast(t1 as char) from b)

解决方案 »

  1.   

    delete from a where cast(s as char) +','+ cast(t as char) in (select cast(s1 as char) + ','+cast(t1 as char) from b)一定要加分隔符,否则可能出错.
    例:S='123',T='456'
    这时:就会删除:
    S='1',T='23456'
    S='12',T='3456'
    等等~~~
      

  2.   

    CrazyFor(吃素的鼹鼠) 写的对,必须要加分隔符,我的程序曾经因为没加而出过错!
      

  3.   

    1:
    delete from a where cast(s as char) +','+ cast(t as char) in (select cast(s1 as char) + ','+cast(t1 as char) from b)
    2:
    delete a from a
    join b on a.s = b.s1 and a.t = b.t1