ไม่ทราบว่า ผมเข้าใจถูกหรือเปล่าครับ พอดีได้ลอง เรื่องส่งออก สกส. ที่ต้องมี เลขใบประกอบวิชาชีพ คือว่า
1. is null กับ ="" ใช้ต่างกันตรงที่ is null ใช้เช็ค ค่าว่าง ที่ไม่เคยคีย์ข้อมูลมาก่อนจริงๆ แต่ ="" คือ อาจเคยคีย์แล้วลบให้เป็นค่าว่าง ก็ให้ใช้การเช็คแบบนี้
2. is not null กับ <>"" ก็เหมือน ข้อ 1 แต่กลับกัน
ตัวอย่าง
เช็คว่าคนไข้ ไหนที่ไม่มี licenseno ก็ควรเช็คว่า
where licenseno is null or licenseno=""
เข้าใจถูกหรือเปล่าครับ ช่วยหน่อยครับ...
ปล..เรื่องของเรื่องผมเอาโค๊ดใบรับรองยานอกของ อ.โก้ มาปรับดู ในส่วนของ การแสดงชื่อแพทย์ ล่างลายเซ็นต์
SELECT concat(p.pname,p.fname," ",p.lname) as ptname, p.hn, o.rxdate, v.age_y,
concat(d.name," ",d.strength," ",d.units) as drugname,
opn.*,concat(i.code,i.name,"(",i.tname,")") as diag, o.qty, o.sum_price,ocd.doctor as control_doctor,
if(ov.command_doctor <> "",ov.command_doctor,if(ov.command_doctor = ov.doctor,ov.command_doctor,ov.doctor)) as dr_code,
if(((ov.command_doctor is null or ov.command_doctor="") and (ov.doctor is null or ov.doctor="")),'',
if(ov.command_doctor is null or ov.command_doctor="",ov.doctor,ov.command_doctor)) as dr_code2
FROM ovst_presc_ned opn
JOIN drugitems d on d.icode = opn.icode
JOIN opitemrece o on o.vn = opn.vn and o.icode = opn.icode
JOIN patient p on p.hn = o.hn
JOIN vn_stat v on v.vn = o.vn
LEFT OUTER JOIN icd101 i on i.code = v.pdx
LEFT OUTER JOIN ovst_control_doctor ocd on ocd.vn = opn.vn
LEFT OUTER JOIN ovst ov on ov.vn = opn.vn
LEFT OUTER JOIN doctor dr on dr.code = ov.command_doctor
WHERE o.vn = "551025193614"
************************************************************
Value := GetSQLStringData('select concat(name,"[", '+
'(select if(licenseno is null or licenseno ="","-",licenseno)),"]") as name '+
' from doctor where code = "'+DBPipeLine['dr_code2']+'"');