SQL表插入的问题
现有tableA
单别 单号 变更版本号
1 2 1
1 2 2
2 3 1
4 5 1
2 4 1
2 4 2
2 4 3
2 2 1
单别不一样,可能单号一样,变更版本号依次累加
现在有TABLEB
单别 单号
1 2
2 2
2 4
想要插入TABLEA,并且变更版本累加
求大神 SQL 累加 插入 最大值
[解决办法]
with tb as
(
select b.*, MAX(a.变更版本号) + 1 as aaa from b
inner join A on a.单别 = b.单别
and a.单号 = b.单号
group by b.单别, b.单号
)
insert into a
select * from tb
[解决办法]
INSERT TABLEA(单别,单号,变更版本号)
SELECT b.单别,b.单号,isnull(max(a.变更版本号),0)+1
FROM TABLEB b left join TABLEA a
on a.单别 = b.单别
and a.单号 = b.单号
insert into tableA select B.单别,B.单号,max(A.变更号)+1 from tableA A join tableB B on A.单别=B.单别 and A.单号=B.单号 group by B.单别,B.单号
INSERT TABLEA(单别,单号,变更版本号)
SELECT b.单别,b.单号,
right('000'+cast(isnull(max(a.变更版本号),0)+1 as varchar),3)
FROM TABLEB b left join TABLEA a
on a.单别 = b.单别
and a.单号 = b.单号
GROUP BY b.单别,b.单号