原语句: with temp0 as (SELECT TOP 1 ppid,合同编号 as 开始编号 FROM [dbo].[wt_多组编号] where ppid = '${id}'), temp1 as (SELECT TOP 1 ppid,substring(合同编号,3,30) as 结束编号 FROM [dbo].[wt_多组编号] where ppid = '${id}' order by id desc) select temp0.开始编号+'~WT'+temp1.结束编号 as 编号,temp1.ppid from temp1 left join temp0 on temp1.ppid=temp0.ppid 这个的意思是:多组编号时,“编号”这项取值为“temp0.开始编号+'~WT'+temp1.结束编号”。 求助大家帮忙改写一下,要求: 如果“temp1.结束编号-temp0.开始编号>0”,则“编号”取“temp0.开始编号+'~WT'+temp1.结束编号”(如:WT0001~WT0003); 否则,“编号”取“temp0.开始编号”。 |