WITH HbA1c_Base AS (
-- ขั้นตอนที่ 1: ดึงข้อมูลเฉพาะรายการ HbA1c ในช่วงเวลาที่กำหนด
SELECT
LN,
Ana_Name
FROM [dbo].[tbl_lab_Analyzer_Result]
WHERE Test_Code = 'CM095' -- ตรวจสอบ Test_Code อีกครั้งว่าในระบบใช้ชื่อนี้หรือไม่
AND Date_Receive >= '2025-07-01'
AND Date_Receive <= GETDATE()
),
LN_Summary AS (
-- ขั้นตอนที่ 2: จัดกลุ่มตาม LN เพื่อดูว่าแต่ละ LN ส่งเครื่องไหนบ้าง
SELECT
LN,
MAX(CASE WHEN Ana_Name = 'BS1000M' THEN 1 ELSE 0 END) AS BS1000M,
MAX(CASE WHEN Ana_Name = 'G11' THEN 1 ELSE 0 END) AS G11
FROM HbA1c_Base
GROUP BY LN
)
-- ขั้นตอนที่ 3: สรุปผลตามเงื่อนไขที่โจทย์ต้องการ
SELECT
CASE
WHEN BS1000M = 1 AND G11 = 1 THEN 'ตรวจทั้งเครื่อง BS1000M และ G11'
WHEN BS1000M = 1 AND G11 = 0 THEN 'ตรวจด้วยเครื่อง BS1000M อย่างเดียว'
WHEN BS1000M = 0 AND G11 = 1 THEN 'ตรวจด้วยเครื่อง G11 อย่างเดียว'
ELSE 'เครื่องอื่นๆ'
END AS Machine_Group,
COUNT(LN) AS Total_LN
FROM LN_Summary
GROUP BY
CASE
WHEN BS1000M = 1 AND G11 = 1 THEN 'ตรวจทั้งเครื่อง BS1000M และ G11'
WHEN BS1000M = 1 AND G11 = 0 THEN 'ตรวจด้วยเครื่อง BS1000M อย่างเดียว'
WHEN BS1000M = 0 AND G11 = 1 THEN 'ตรวจด้วยเครื่อง G11 อย่างเดียว'
ELSE 'เครื่องอื่นๆ'
END;
To embed this project on your website, copy the following code and paste it into your website's HTML: