ผมมีความสงสัยว่ารายการ drug catalog ที่ผมทำตามชุดคำสั่งใน
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=11324.msg230573#msg230573 นั้น ทำไมรายการยาบางรายการที่ได้ใส่ did (รหัสยา 24 หลัก) ไว้แล้ว จึงไม่ปรากฏชื่อการค้าที่ดึงมาจากตาราง drugitems_register_unique (แทน drugitems_register ใน version แรก) ด้วยความเข้าใจที่คิดว่า drugitems_register นั้นเก็บรายการยาที่มีรหัสมาตรฐาน 24 หลัก ทุกรายการ (แต่ยังไม่เป็นปัจจุบัน) ซึ่งมีรายการยาบางรายการที่มีรหัส 24 หลักซ้ำกัน และ drugitems_register_unique เก็บเฉพาะรายการที่มีรหัสยา 24 หลักที่ไม่ซ้ำกัน
ผมจึงใช้คำสั่งต่อไปนี้เพื่อตรวจสอบรายการ
รหัสยา 24 หลักที่มีใน drugitems_register แต่ไม่มีใน drugitems_register_unique ซึ่งให้ผลดังข้างล่าง
select count(dr.std_code) as items
from drugitems_register dr
left join drugitems_register_unique dru on dru.std_code=dr.std_code
where dru.std_code is null
ได้ 3939 records
หากนับเฉพาะ
select count(distinct dr.std_code) as items
from drugitems_register dr
left join drugitems_register_unique dru on dru.std_code=dr.std_code
where dru.std_code is null
ได้ 3221 records
จับรวมกัน
select count(dr.std_code) as items, count(distinct dr.std_code) as items2
from drugitems_register dr
left join drugitems_register_unique dru on dru.std_code=dr.std_code
where dru.std_code is null
ได้ 3939 และ 3221
ผมก็เลยถึงบางอ้อว่า...ทำไม สกส. จึงตรวจข้อมูลที่ผมส่งไป แล้วแจ้งว่าไม่มีชื่อการค้าอยู่ร้อยกว่ารายการ
===========================================================
หรือเป็นเพราะผมเข้าใจผิดเกี่ยวกับ drugitems_register_uniqueปล. ผมได้ลอง drop table drugitems_register และ drugitems_register_unique แล้ว upgrade structure โดยใช้ HOSxP version 3.55.9.21b แล้วครับ เพื่อให้ HOSxP ได้ใส่ข้อมูลมาใหม่ทั้งสองตาราง