แสดงบทความที่มีป้ายกำกับ Multiple Rows Query แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Multiple Rows Query แสดงบทความทั้งหมด

วันศุกร์ที่ 29 เมษายน พ.ศ. 2554

Select multiple rows from single row data

Select multiple rows (records) from single row(record) data
กรณีที่ต้องการ Select ให้ได้จำนวน Record ตามจำนวนที่กำหนดเช่น

Name   | Qty
-----------
Dave   | 25
Nathan | 10
Chaim  | 8

คือต้องการให้ Dave ออกมา 25 Records , Nathan 10 Records และ Chaim 8 Records
วิธีทำโดยไม่ต้องเขียน Cursor ให้ยุ่งยากครับ ไปเจอมาจาก Stack Overflow
Ref site : http://stackoverflow.com/questions/5808083/get-multiple-records-from-one-record



;WITH T(Name,Qty) AS
(
SELECT 'Dave',25 union all
SELECT 'Nathan',10 union all
SELECT 'Chaim',8
), Numbers AS
(
SELECT number
FROM master..spt_values
WHERE   type='P' AND number > 0
)
SELECT Name
FROM T
JOIN Numbers ON  number  <= Qty