if EXISTS (select YPPM,YPSPM,YPJX,YPDW,HLDW,pym from YP_YPGGD group by YPPM,YPSPM,YPJX,YPDW,HLDW,pym having count(1)>1)
begin
insert into YP_YPCJD(N_YPLX,N_YPZLX,S_YPPM,S_YPJX,S_YPSPM,S_YPGG,S_SCCJ,S_YPDW,SCCJ,GGID) 
SELECT y.YPLX,y.YPZLX,y.YPPM,y.YPJX,y.YPSPM,y.YPGG,y.SCCJ,y.YPDW,sc.id,T.GGID 
FROM yaoping as y 
inner  JOIN yp_SCCJ AS sc on y.sccj=sc.sccj 
inner  JOIN (SELECT YPPM,max(GGID) as GGID FROM YP_YPGGD   group by YPPM) AS T
ON Y.YPPM=T.YPPM 
end   这条语句错了哪里!
     需求!
   给相同的数据付给最大MAX(GGID)!

解决方案 »

  1.   

    850 NULL 1 1 针剂 苯海拉明 苯海拉明 NULL 20mg*10支 天津新郑 盒       NULL 553
    850 NULL 1 1 片剂 苯海拉明 苯海拉明 NULL 25mg*100粒 山西太原制药有限公司 瓶       NULL 421
    850 NULL 1 1 片剂                 苯海拉明             苯海拉明             NULL 25mg*100粒 天津力生制药 瓶 NULL 545
      

  2.   

    --tryif EXISTS 
      (select YPPM,YPSPM,YPJX,YPDW,HLDW,pym from YP_YPGGD group by YPPM,YPSPM,YPJX,YPDW,HLDW,pym having count(1)>1) 
    begin 
    insert into 
      YP_YPCJD(N_YPLX,N_YPZLX,S_YPPM,S_YPJX,S_YPSPM,S_YPGG,S_SCCJ,S_YPDW,SCCJ,GGID) 
    SELECT 
      y.YPLX,y.YPZLX,y.YPPM,y.YPJX,y.YPSPM,y.YPGG,y.SCCJ,y.YPDW,sc.id,T.GGID 
    FROM 
      yaoping as y ,yp_SCCJ AS sc ,(SELECT YPPM,max(GGID) as GGID FROM YP_YPGGD  group by YPPM) AS T 
    where  
      Y.YPPM=T.YPPM 
    and
      y.sccj=sc.sccj
    end 
      

  3.   

    if EXISTS 
      (select YPPM,YPSPM,YPJX,YPDW,HLDW,pym from YP_YPGGD group by YPPM,YPSPM,YPJX,YPDW,HLDW,pym having count(1)>1) 
    begin 
    insert into 
      YP_YPCJD(N_YPLX,N_YPZLX,S_YPPM,S_YPJX,S_YPSPM,S_YPGG,S_SCCJ,S_YPDW,SCCJ,GGID) 
    SELECT 
      y.YPLX,y.YPZLX,y.YPPM,y.YPJX,y.YPSPM,y.YPGG,y.SCCJ,y.YPDW,sc.id,T.GGID 
    FROM 
      yaoping as y ,yp_SCCJ AS sc ,(SELECT YPPM,max(GGID) as GGID FROM YP_YPGGD  group by YPPM order by YPPM) AS T 
    where  
      Y.YPPM=T.YPPM 
    and
      y.sccj=sc.sccj
    end 
      

  4.   

    if EXISTS (select YPPM,YPSPM,YPJX,YPDW,HLDW,pym from YP_YPGGD group by YPPM,YPSPM,YPJX,YPDW,HLDW,pym having count(1)>1) 
    这一句基本没什么意义,exists不看查询列,只看where等查询条件,你这个语句实现后的就是要有中有记录。插入语句没看出有什么问题,提示是什么错误呢?
      

  5.   


           有重复的数据才给MAX(GGID)
      

  6.   

      我现在是查询看有满足条件的数据才给MAX(GGID)
      没有就不给!
      

  7.   


      对!
       那要怎么解决呢?
        就在给满足条件的MAX(GGID)