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;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: