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)!
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)!
850 NULL 1 1 片剂 苯海拉明 苯海拉明 NULL 25mg*100粒 山西太原制药有限公司 瓶 NULL 421
850 NULL 1 1 片剂 苯海拉明 苯海拉明 NULL 25mg*100粒 天津力生制药 瓶 NULL 545
(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
(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
这一句基本没什么意义,exists不看查询列,只看where等查询条件,你这个语句实现后的就是要有中有记录。插入语句没看出有什么问题,提示是什么错误呢?
有重复的数据才给MAX(GGID)
没有就不给!
对!
那要怎么解决呢?
就在给满足条件的MAX(GGID)