insert into YP_YPCJD(N_YPLX,N_YPZLX,S_YPPM,S_YPJX,S_YPSPM,S_YPGG,S_SCCJ,S_YPDW,SCCJ)
SELECT y.YPLX,y.YPZLX,y.YPPM,y.YPJX,y.YPSPM,y.YPGG,y.SCCJ,y.YPDW,sc.id
FROM yaoping as y
INNER JOIN yp_SCCJ AS sc on y.sccj=sc.sccj
  按YPPM,YPSPM,YPCJ,YPDW,YPGG分组怎么做啊!
  如果满足条件的话才执行上面的语句!
   我知道是用FOR做但是不知道怎么写!
   希望哪位大侠教导下!
  

解决方案 »

  1.   

    满足什么条件?if exists(select 1 from tb where ...)
      begin
        ...
      end
      

  2.   

    YPPM,YPSPM,YPCJ,YPDW,YPGG这些字段分组,其它select出来的字段怎么处置?
      

  3.   

     上次好像看过 
    难道是 用 case when ....
      

  4.   


        按YPPM,YPSPM,YPCJ,YPDW,YPGG如果数据相同的话那么就是同一ID   如果不同就是2条数据! 
      

  5.   


      中间表YAOPING   对象表YP_YPGGD!
      数据是添加进去!
       添加前清空了!
      

  6.   

    insert into 
      YP_YPCJD(N_YPLX,N_YPZLX,S_YPPM,S_YPJX,S_YPSPM,S_YPGG,S_SCCJ,S_YPDW,SCCJ) 
    SELECT 
      y.YPLX,y.YPZLX,y.YPPM,y.YPJX,y.YPSPM,y.YPGG,y.SCCJ,y.YPDW,sc.id 
    FROM 
      yaoping as y 
    INNER JOIN 
      yp_SCCJ AS sc on y.sccj=sc.sccj 
    where
      not exists(select 1 
                 from YP_YPCJD 
                 where S_YPPM=y.YPPM 
                 and S_YPSPM=y.YPSPM 
                 and S_YPJX=y.YPJX  --这个是不是写错了?
                 and S_YPDW=y.YPDW
                 and S_YPGG=y.YPGG
                )
    这样?
      

  7.   


      是在添加数据前对YAOPING表的YPPM,YPSPM,YPCJ,YPDW,YPGG做判断看有一样的数据没有
      有的话就添加的数据为同一个CJID   如果没有就是2条数据!
      这个不行  数据的ID还是一样的没有分组!