create view viewname as select cast(id as signed) + substring(id,1,1)+substring(id,2,2)+substring(id,3,3)+substring(id,4,4)+substring(id,5,5) from tablename建立上面的视图就可以达到你的目的,但我这个视图是建立在一个假设上的:id的最大位数为5。 你可以估计下大概需要多少位,substring(id,5,5),需要指出的是,即使id的位数值有3位,substring(id,5,5)也不会报错,并且substring('123',3,3)=substring('123',3,3)+substring('123',4,4)+substring('123',5,5),所以你可以事先假设一个最大位数。
用辅助表字段ID,内容1-100000 select a.value,a.value+sum(b.id) from a inner join b on b.id<=a.value group by a.value
as
select cast(id as signed) + substring(id,1,1)+substring(id,2,2)+substring(id,3,3)+substring(id,4,4)+substring(id,5,5)
from tablename建立上面的视图就可以达到你的目的,但我这个视图是建立在一个假设上的:id的最大位数为5。 你可以估计下大概需要多少位,substring(id,5,5),需要指出的是,即使id的位数值有3位,substring(id,5,5)也不会报错,并且substring('123',3,3)=substring('123',3,3)+substring('123',4,4)+substring('123',5,5),所以你可以事先假设一个最大位数。
select a.value,a.value+sum(b.id) from a inner join b on b.id<=a.value group by a.value