T-SQL Recursion

** Support SQL 2005 up

# ใช้ในกรณีที่ข้อมูลเป็นลักษณะ หัวหน้าและลูกน้อง อยากรู้ว่าหัวหน้าคนนี้มีลูกน้องคือใครบ้างเป็นต้น

WITH T_Reports (t_mitm,t_sitm,level)
AS
(
SELECT t_mitm, t_sitm, 0 as level
FROM bom
WHERE ltrim(rtrim(t_mitm)) = 'xx-xx'

UNION ALL
SELECT b.t_mitm, b.t_sitm, level + 1
FROM bom b
INNER JOIN T_Reports as t ON t.t_sitm = b.t_mitm
)
select * from T_Reports order by level,t_mitm


อธิบาย หมายถึง การสร้างตารางเสมือน T_Reports แล้วทำการนำค่า จาก Query ที่ 1,2 ไปใส่ในตาราง T_Reports

Comments

Popular posts from this blog

การตั้งเวลาระหว่าง Server และ Client

วิธีตั้งค่า NTP บน Primary Domain Controller

Installation and Run Node.JS on IIS