Nis*_*hal 3 sql t-sql sql-server-2008
我的数据看起来像这样
Supplier Qty
-------- ---
ABC 3
BCD 1
CDE 2
DEF 1
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
Supplier Qty
-------- ---
ABC 3 }---> Add additional row based on the number of qty
ABC 3 }
ABC 3 }
BCD 1
CDE 2 }---> Add additional row here too
CDE 2 }
DEF 1
Run Code Online (Sandbox Code Playgroud)
寻找执行预期结果的sql SELECT语句.
我正在使用Sql Server 2008
DECLARE @d TABLE (Supplier VARCHAR(32), Quantity INT);
INSERT @d SELECT 'ABC',3
UNION ALL SELECT 'BCD',1
UNION ALL SELECT 'CDE',2
UNION ALL SELECT 'DEF',1;
WITH x AS
(
SELECT TOP (10) rn = ROW_NUMBER() --since OP stated max = 10
OVER (ORDER BY [object_id])
FROM sys.all_columns
ORDER BY [object_id]
)
SELECT d.Supplier, d.Quantity
FROM x
CROSS JOIN @d AS d
WHERE x.rn <= d.Quantity
ORDER BY d.Supplier;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2354 次 |
最近记录: |