ที่มาของภาพ http://chrissanders.org |
ในการเลือก Diagnosis จากตาราง ovstdiag โดยต้องการเลือกเฉพาะ Diagnosis ที่เป็น ICD10 หรือ ICD9 เท่านั้น สามารถทำได้โดยการใช้เงื่อนไขว่า character แรกต้องเป็น หนังสือ (ICD10) ซึ่งทำได้โดยการใช้คำสั่ง REGEXP '[A-Za-z]' หรือ เป็นตัวเลข (ICD9) ซึ่งทำได้โดยการใช้คำสั่ง REGEXP '[0-9]' เป็นตัวจับ
ตัวอย่าง ICD10
SELECT ov.*,icd101.`code`,icd101.name,dc.`name` as doctorname from ovstdiag ov
left join doctor dc on ov.doctor = dc.`code`
left join icd101 on ov.icd10 = icd101.`code` where vn = '550101080140' and left(icd103,1) REGEXP '[A-Za-z]' order by diagtype
ตัวอย่าง ICD9
SELECT ov.*,icd9cm1.`code`,icd9cm1.name,dc.`name` as doctorname from ovstdiag ov
left join doctor dc on ov.doctor = dc.`code`
left join icd9cm1 on ov.icd103 = icd9cm1.`code` where vn = '550101080140' and left(icd103,1) REGEXP '[0-9]' order by diagtype
คำสั่ง REGEXP ชื่อเต็มคือ Regular Expression คำอธิบาย : http://dev.mysql.com/doc/refman/5.1/en/regexp.html
ที่มา
ตัวอย่างที่ใช้ศึกษา : http://stackoverflow.com/questions/1471523/select-only-rows-that-contain-only-alphanumeric-characters-in-mysql
No comments:
Post a Comment