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

时间:2014-07-29 10:47:57

标签: sql database sql-server-2008

我的数据如下表所示。

enter image description here

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

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

当我对上述数据进行查询时,它应返回26行。

1 个答案:

答案 0 :(得分:5)

查询:

<强> SQLFIDDLEExample

SELECT tbl.*
FROM tbl, 
    (SELECT number
    FROM master..spt_values 
    WHERE Type = 'P') n
WHERE tbl.Quantity > n.number

结果:

| 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 |