มีประโยชน์เหมือนกันแฮะ SQL ของผมมีบางท่่านนำไปต่อยอดกับรายงานแล้วครับ
นับถือครับ ท่าน cya
ลองศึกษาเพิ่มเติมตามนี้ครับ
แบบแรก
(ควรเริ่มต้นเขียนทีละตารางค่อยไล่ไปจะง่ายกว่า ถ้ามีการเชื่อมหลายตาราง)
(พอดีไม่แน่ใจว่าท่าน cya เริ่มเขียนตั้งแ่ต่แรก หรือนำ sql เก่ามาแก้ครับ ถ้าเป็นแบบหลังต้องระวังครับ)
SELECT COUNT(DISTINCT m1.vn) AS age_less_5,COUNT(DISTINCT m2.vn) AS age_5_7sealant,COUNT(DISTINCT a.vn) AS totalsealant
FROM dtmain a
LEFT OUTER JOIN dttm b ON a.tmcode=b.code AND b.treatment="Y"
LEFT OUTER JOIN dt_list c ON a.vn=c.vn AND c.count_in_year="0"
LEFT OUTER JOIN dtmain m1 ON a.vn=m1.vn AND a.vstage<"5"
LEFT OUTER JOIN dtmain m2 ON a.vn=m2.vn AND a.vstage BETWEEN "5" AND "7"
WHERE a.vstdate BETWEEN "2008-01-15" AND "2008-01-15" AND a.vstage BETWEEN "5" AND "7"
AND a.tmcode='0119'
อีกแบบน่าจะเป็นแบบนี้ครับ
SELECT (m3.tcount) AS tcountsealant
FROM dtmain a
LEFT OUTER JOIN dtmain m3 ON a.vn=m3.vn
WHERE a.vstdate BETWEEN "2008-01-15" AND "2008-01-15" AND a.vstage BETWEEN "5" AND "7" AND a.tmcode="0119"
ลองตรวจสอบผลลัพธ์อีกครั้งนะครับ
นับถือ นับถือครับ
อีกหน่อยคงไม่ต้องง้อขอรายงานใครแล้วครับ สู้ สู้