牵涉到3张表:
表一:
登记号  姓名
12     张三
13     刘四
表二:
姓名    姓别
张三    男
刘四    女
表三:
身份证号             登记号
343423423423          12
234234234323          13
========================================
用户只要输入几个字,比如张三,就可以把三张表相关的数据删除。
不要跟我说每张表多加几个字段,这是个例子,我实际碰到的问题有5张表
而且字段、数据量也很大。如果加字段实在有点不实际。

解决方案 »

  1.   

    Delete 表二 
    From 表一 T1
    Where T1.姓名=表二.姓名
          And T1.姓名=''Delete 表三
    From 表一 T1
    Where T1.登记号=表三.登记号
          And T1.姓名=''Delete 表一 
    Where 姓名=''
    这样可以实现你所说的功能!不过比较麻烦.如果表比较多的话就不好了!你可以用主明细表来做.确定好一个主表.其它的做明细表。然后用table关联.其它的你就可以自己想办法了!
      

  2.   

    我觉得在表二中如果有一个"登记号"应该是合理的, 谁能保证不重名啊如果有了这个登记号那么删除记录应该是很容易的事情了没有理由不设置主键吧?
    sorry,我还是说了加字段呵呵..
      

  3.   

    jtg98g3(凌晨九点) 你说的t1是什么?能说清楚点吗`?我不太理解
    wjwboy(王建) 你说的变量我不知道如何获取,我使用的sql server 2000,如果使用sql命令
    只能查到,可是不知道把它附值给变量。
      

  4.   

    他说的这个好象不行啊`,怎么使用sql命令
    只能查到,可是不知道把它附值给变量
      

  5.   

    这样的表需要从设计 你可以设计个视图 大盖这样写select 表1。登记号,表2。姓名,表3,性别 from 表1,表2,表3 where 
    表1。姓名=表2。姓名 and  表3。登记号 =表1。登记号 
    然后
    delete 视 where 登记号 =‘什么什么’不过我不能确定 估计也不行
      

  6.   

    tq1984(东方仗助) ( ) 信誉:100 :
    jtg98g3(凌晨九点) 你说的t1是什么?能说清楚点吗`?我不太理解
    wjwboy(王建) 你说的变量我不知道如何获取,我使用的sql server 2000,如果使用sql命令
    只能查到,可是不知道把它附值给变量。你对sql语句一点都不熟悉.看来关键不在这里.要加强你sql语句的使用提高了.抓紧看书啊!