sql-server - 根据数量字段返回多个结果

标签 sql-server sql-server-2005 resultset

我有以下记录表:

Product     |    Colour  |   Quantity
---------------------------------------
Product A   |    Blue    |          1
Product A   |    Red     |          2
Product B   |    Green   |          1

如何编写查询以返回以下内容?:

Product     |    Colour
---------------------------
Product A   |    Blue
Product A   |    Red
Product A   |    Red
Product B   |    Green

最佳答案

WITH    numbers (rn) AS
        (
        SELECT  MAX(quantity)
        FROM    product
        UNION ALL
        SELECT  rn - 1
        FROM    numbers
        WHERE   rn > 1
        )
SELECT  p.*
FROM    product p
JOIN    numbers n
ON      p.quantity >= n.rn

关于sql-server - 根据数量字段返回多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742482/

相关文章:

java - MYSQL JDBC java.sql.SQLException : Operation not allowed after ResultSet closed

java - 使用 Java 将结果集转换为 CSV 文件

sql-server - 在 tsql 中,带有 Select 语句的插入在并发性方面安全吗?

SQL 查询以获取 SQL SERVER 2008 中的死锁

c# - 允许用户即时向其数据库添加列的最佳方法是什么?

sql-server - 解释SQL Server 2008中Ambigously column错误的原因

sql-server-2005 - 启用 SQL Server Broker 花费的时间太长

SQL如何连接具有不同列和连接的两个查询

sql - 如何根据列的值查找连续的行?

java - 将 Actionlistener(按钮)绑定(bind)到 Resultset.next