Delete A.*,b.*,c.* 
From Trans A Inner Join TransDetail B on A.TransID=B.TransID 
INNER Join TransPayment C on C.TransID=A.TransID 
Where A.BusinessDate<date_add('2011-04-08',interval -3 month);上面的SQL语句只删除到C表的纪录,A和B的纪录都没有删除掉。

解决方案 »

  1.   

    delete from Trans A Inner Join TransDetail B on A.TransID=B.TransID 
    INNER Join TransPayment C on C.TransID=A.TransID 
    Where A.BusinessDate<date_add('2011-04-08',interval -3 month)
      

  2.   


    Delete From Trans A Inner Join TransDetail B on A.TransID=B.TransID 
    INNER Join TransPayment C on C.TransID=A.TransID 
    Where A.BusinessDate<date_add('2011-04-08',interval -3 month);
      

  3.   

    1,Delete A.*,b.*,c.* 
    From Trans A , TransDetail B ,TransPayment Cand 
    Where A.TransID=B.TransID  
    and A.BusinessDate<date_add('2011-04-08',interval -3 month)
    and C.TransID=A.TransID;2,Delete From Trans A , TransDetail B ,TransPayment Cand 
    Where A.TransID=B.TransID  
    and A.BusinessDate<date_add('2011-04-08',interval -3 month)
    and C.TransID=A.TransID;
      

  4.   

    上面都不行,表的关系是Trans:Transdetail:TransPayment是1:多:多的关系。
      

  5.   

    delete a,b,c
    from trans a, tansdetail b, transpayment c
    where a.TransID=b.TransID and c.TransID=a.TransID and a.BusinessDate<date_add('2011-04-08',interval -3 month);
      

  6.   

    都是没有返回纪录。
    为什么就删不掉呢
    delete a,b,c
    from trans a, tansdetail b, transpayment c
    where a.TransID=b.TransID and c.TransID=a.TransID 
    where A.TransID=1;
    这样就可以。
      

  7.   

    Delete A,B,C FROM trans A  Join Transdetail B on B.TransID=A.TransID  Join TransPayment C on C.Transid=A.TransID
    where A.businessdate<date_add('2011-04-08',interval -3 month);
    好像这样才可以