select a.no,b.zwys into #a
from order_main  a,order_mx  b,cp_ckd   c,cp_rkscd  d
where a.no=b.no and b.no=c.no and c.no=d.no and b.zwys=c.zwys
and b.zwys=d.zwysselect * from #a

解决方案 »

  1.   

    --将几个表全部关联起来生成临时表select a_no=a.[no]
    ,b_no=b.[no],b_zwys=b.zwys
    ,c_no=c.[no],c_zwys=c.zwys
    ,d_no=d.[no],d_zwys=d.zwys
    into #t
    from order_main a,order_mx b,cp_ckd c,cp_rkscd d
    where a.[no]=b.[no]
    and b.[no]=c.[no] and b.zwys=c.zwys
    and b.[no]=d.[no] and b.zwys=d.zwys
      

  2.   

    我想不是这样吧,order_main和order_mx先有记录,cp_ckd,cp_rkscd才会有记录,但当cp_ckd或者cp_rkscd没有记录时,只要order_mx有记录,这个临时表就有记录,我希望以order_mx未中心,order_main,cp_ckd,cp_rkcsd作左右关联
      

  3.   

    select a_no=a.[no]
    ,b_no=b.[no],b_zwys=b.zwys
    ,c_no=c.[no],c_zwys=c.zwys
    ,d_no=d.[no],d_zwys=d.zwys
    into #t
    from order_main a
    left join order_mx b on a.[no]=b.[no]
    left join cp_ckd c on b.[no]=c.[no] and b.zwys=c.zwys
    left join cp_rkscd d on b.[no]=d.[no] and b.zwys=d.zwys
      

  4.   

    select a.no,b.zwys into #temp1 from order_main a join order_mx b on a.[no]=b.[no]
     left join order_mx c  on b.[no]=c.[no] and b.[zwys]=c.[zwys]
     left join cp_rkscd d  on b.[no]=d.[no] and b.[zwys]=d.[zwys]
      

  5.   

    select a_no=a.[no]
    ,b_no=b.[no],b_zwys=b.zwys
    ,c_no=c.[no],c_zwys=c.zwys
    ,d_no=d.[no],d_zwys=d.zwys
    into #t
    from order_main a
    left join order_mx b on a.[no]=b.[no]
    left join cp_ckd c on b.[no]=c.[no] and b.zwys=c.zwys
    left join cp_rkscd d on b.[no]=d.[no] and b.zwys=d.zwys左联合下去就可以了.