在SQL SELECT查询中添加多行

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次显示该行时,数字会递增.

我发现这个问题已被回答和接受,但我不太明白如何将它应用到我的场景中.对此有任何帮助非常感谢..!

Cha*_*ana 5

试试这个:

 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)