gpt4 book ai didi

mysql - 在 SQL 中生成与列中的整数一样多的行

转载 作者:行者123 更新时间:2023-11-29 06:24:14 25 4
gpt4 key购买 nike

我有一个这种形式的表格:

    TABLE_ID   NUMBER

0A 3
4B 2
...

是否可以提出一个请求:

    0A 1
0A 2
0A 3
4B 1
4B 2

或更好(格式化)

    0A001
0A002
0A003
4B001
4B002
...

因此对于表中的每一行,在结果中重复与整数一样多的行并对其进行编号。

最佳答案

create table t (id varchar(10), num int);

insert into t values('0A',3);
insert into t values('4B',2);

create table nums (n int);

insert into nums values(1);
insert into nums values(2);
insert into nums values(3);
insert into nums values(4);
insert into nums values(5);
insert into nums values(6);

select concat(t.id,'00',nums.n)
from nums join t
on nums.n <= t.num;

你可以试试这个。最好使用循环根据表中的最大数量构造 nums 表。此外,您应该决定 2 位数字的模式,如果它们仍应包含 2 个 0 或 1,对于 3,4,..n 位数字也是如此。在这种情况下,您应该根据数字的长度使用 case 语句。

SQL fiddle :http://sqlfiddle.com/#!9/21aa9/1

关于mysql - 在 SQL 中生成与列中的整数一样多的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31942915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com