在SQL中按照列数量返回行数

Vij*_*dra 2 sql database sql-server-2008

我在下表中有数据.

在此输入图像描述

现在我想根据Quantity列的值返回行.

与上面的数据一样,第1行有数量4,然后在选择查询的输出中,第1行将有4行,类似于第2行的数量是8,那么将有8行.

当我对上面的数据写入查询时,它应该返回26行.

Jus*_*tin 5

查询:

SQLFIDDLEExample

SELECT tbl.*
FROM tbl, 
    (SELECT number
    FROM master..spt_values 
    WHERE Type = 'P') n
WHERE tbl.Quantity > n.number
Run Code Online (Sandbox Code Playgroud)

结果:

| ROWNO | QUANTITY | SIZE |
|-------|----------|------|
|     1 |        4 |  YXS |
|     1 |        4 |  YXS |
|     1 |        4 |  YXS |
|     1 |        4 |  YXS |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     2 |        8 |  2XL |
|     3 |        7 |   XL |
|     3 |        7 |   XL |
|     3 |        7 |   XL |
|     3 |        7 |   XL |
|     3 |        7 |   XL |
|     3 |        7 |   XL |
|     3 |        7 |   XL |
|     4 |        7 |  YXS |
|     4 |        7 |  YXS |
|     4 |        7 |  YXS |
|     4 |        7 |  YXS |
|     4 |        7 |  YXS |
|     4 |        7 |  YXS |
|     4 |        7 |  YXS |
Run Code Online (Sandbox Code Playgroud)