求解答 sql 的行有条件复制数据
【问题】
如题,下面某表有 3 个字段:
name url number
lily 123.com 4
jack wer3.com 3
sisi ert34.com 1
用 sql 语句实现一下结果,根据 number 复制行,然后在 url 后面加序列,前面固定
name url number
lily 123.com1 4
lily 123.com2 4
lily 123.com3 4
lily 123.com4 4
jack wer3.com1 3
jack wer3.com2 3
jack wer3.com3 3
sisi ert34.com1 1
【回答】
数据搬到DB外面做吧,用SPL只要一句:
A |
|
1 |
$select name,url,number from tb |
2 |
=A1.news(number;A1.name:name,A1.url+string(~):url,A1.number:number) |
A1:sql取数
A2:构建由name, url, number组成的新序表,根据A1每条记录的number值,插入number条记录到新序表中,插入的新记录由表达式
“A1.name:name,A1.url+string(~):url,A1.number:number”循环计算得来
这个脚本也可以嵌入到应用程序里执行,具体可参考Java 如何调用 SPL 脚本