delete from b where xh in (select xh form B in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb') 
比如这一句,现在我的主键不是xh了,是未知的,而且是个联合主键,大家帮我写个获得主键字段的句子代替红色的部分,搞了半天,找不到资料,即使找到了也看不大懂。
delete from b where xh in (select xh form B in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb') 

解决方案 »

  1.   

    select xh form B in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb'
    -----------------------------
    完全不合乎语法到底想干嘛?
      

  2.   

    delete from b T1 where EXISTS (select xh form B T2 in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb' WHERE T2.XH=T1.XH AND T2.XH2=T1.XH2) 
    --另一种
    delete from b where CHECKSUM(xh,XH2) in (select CHECKSUM(xh,XH2) form B in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb') 
      

  3.   

    参考:delete b from b m where exists (select 1 form tb where 主键1 = m.主键1 and 主键2 = m.主键2) 
      

  4.   

    delete from b where xh in (select xh form B in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb') 
    可以用这种吗?
      

  5.   

    用链接服务器访问ACCESS,然后再用3楼方法
      

  6.   

    理解错了,我的意思是delete from b where xh in (select xh form B in 'H:\Documents and Settings\Administrator\桌面\客户端.mdb') 这个根据主键删除记录语句中的主键xh是已知的,如果我某个表主键不知道的情况下,xh这个地方该怎么写?