BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: tawatchai4 ที่ สิงหาคม 05, 2010, 10:16:44 AM
-
เลขที่บัตรประชาชนขึ้นเลขตัวเดียวครับ ตัวที่เหลือหายไปครับทำยังไงดีครับ
คือแบบว่าจะเข้าไปแก้ไขชื่อแต่เลยที่บัตรประชาชนมันขึ้นมาแต่ตัวข้างหน้าตัวเดียวจะทำยังไงครับ
(หน้าอื่นยังอยู่ทั้งหมดครับ)
-
น่าจะต้องให้ข้อมูลเพิ่มเติมหน่อยมั้งครับ :D :D :D
-
select concat(pname,fname,' ',lname)as ptname,cid from patient where hn='xxxxxxx'
ในปุ่มสายฟ้าดูครับว่ามีหรือเป่า
-
ใช้คำสั่งนี้แล้วครับ สรุปเลขที่บัตรประชาชนมีครบครับ
-
ใช้คำสั่งนี้แล้วครับ สรุปเลขที่บัตรประชาชนมีครบครับ
ลองตรวจสอบ ptcardno ครับ
select * from ptcardno where hn='xxxxxxx' and cardtype='01'
ว่ามีข้อมูลหรือเปล่าถ้าไม่มีก็ใช้ tools โอน CID patient2ptcardno ถ้าจำไม่ผิด..มีของคุณเจมส์ทำไว้ครับ
จากที่นี่ http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=15767.0
-
สรุปแล้วลองแล้วครับไม่ได้ครับ
-
สรุปแล้วลองแล้วครับไม่ได้ครับ
patient ---> 1234567890123 13 ตัว
ptcardno --->1-2345-67890-12-3 17 ตัว
ส่งยกรูปแบบสองตารางนี้มาให้ดูด้วยครับ
-
update ptcardno p set p.cardno=concat(SUBSTRING(p.cardno,1,1),'-',SUBSTRING(p.cardno,2,4),'-',SUBSTRING(p.cardno,6,5),'-',SUBSTRING(p.cardno,11,2),'-',SUBSTRING(p.cardno,13,1)) where INSTR(p.cardno,'-')=0;
ลองดูครับ
-
ขอบคุณครับได้แล้ว
-
update ptcardno p set p.cardno=concat(SUBSTRING(p.cardno,1,1),'-',SUBSTRING(p.cardno,2,4),'-',SUBSTRING(p.cardno,6,5),'-',SUBSTRING(p.cardno,11,2),'-',SUBSTRING(p.cardno,13,1)) where INSTR(p.cardno,'-')=0;
ลองดูครับ
ใช้ replace เลยครับ สั้นกว่า
ตัวอย่างนะครับ
update patient p inner join ptcardno c on c.hn=p.hn set p.cid=replace(c.cardno,"-","") where p.cid is null
นำไปประยุกต์ใช้นะครับ
-
ขอบคุณครับได้แล้ว
ที่ว่าได้แล้วใช้วิธีไหนครับ ผม เผื่่อท่านอื่นๆหรือที่อื่นๆ เกิดปัญหาลักษณะคล้ายๆกันจะแก้ไขได้ครับ .. ;D ;D ;D ;D