2016-08-23_14-40-10

จากรูป จะเห็นว่าต้องการแสดงข้อมูล ที่ถูกจัดเก็บ 1 รายการ โดย แยกออกเป็นหลายรายการตามช่วงเวลา แบบ Dynamic
วิธ๊การง่าย คือใช้ Function พิเศษของ MS SQL Server ที่ชื่อ master..spt_values

SELECT
EmployeeNo
, DaysOffSick
, DateOfSickness
,’1′ + substring(CAST(DaysOffSick AS VARCHAR(10)), 2, 1000) AS Items
, ROW_NUMBER() OVER (PARTITION BY EmployeeNo, DateOfSickness ORDER BY EmployeeNo, DateOfSickness) AS Rownum
FROM
Employees_Attendance_Table
JOIN
master..spt_values n
ON n.type = ‘P’
AND n.number < CONVERT(int, LEFT(CAST( DaysOffSick AS INT ),3))

หมายเหตุ บน DBSM อื่นๆ ก็มี Function ดังกล่าวเหมือนกัน แต่จะเป็นคนละคำสั่ง

Refer: http://www.joellipman.com/…/split-a-row-into-multiple-rows-…