mit*_*atw 1 sql t-sql sql-server select
我有一个表,我想写一个query将根据该表中列的值给出该表的重复行quantity.
假设该表是下面给出的表
name | quantity
------|----------
a | 1
b | 1
c | 3
d | 2
e | 1
Run Code Online (Sandbox Code Playgroud)
而且我希望能够写一个queryin,T-SQL这样它会产生一个看似如下的结果;
name | number | quantity
------|--------|----------
a | 1 | 1
b | 1 | 1
c | 1 | 3
c | 2 | 3
c | 3 | 3
d | 1 | 2
d | 2 | 2
e | 1 | 1
Run Code Online (Sandbox Code Playgroud)
所以在这个结果中,"c"有3行,因为它的数量是3,并且当第n次显示该行时,数字会递增.
我发现这个问题已被回答和接受,但我不太明白如何将它应用到我的场景中.对此有任何帮助非常感谢..!
试试这个:
With Ints(n) As
(Select 1 Union All
Select n + 1 From Ints
Where n < 1000)
Select t.Name, i.n
from myTable t join Ints i
on i.n <= t.Quantity
option(MaxRecursion 1000)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1414 次 |
| 最近记录: |