ผู้เขียน หัวข้อ: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ  (อ่าน 4748 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
มีตารางไหนที่แยก ชื่อภาษาไทย ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
แบบว่าอย่างได้คนละคอลัม เพื่อทำจดหมายเวียน (เพื่อความสวยงาม ต้องอยู่คนละบรรทัด)

 ;D ;D
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #1 เมื่อ: กุมภาพันธ์ 17, 2011, 14:57:34 PM »
0
นำเข้าตาราง amp,  tambon  จาก hcis ด้วยไหมล่ะครับ..ได้ตรงตามใจเลย..
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 17, 2011, 15:07:43 PM โดย Kuakool.. »
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ Last Samurai

  • Newbie
  • *
  • กระทู้: 15
  • Respect: 0
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #2 เมื่อ: กุมภาพันธ์ 17, 2011, 15:15:11 PM »
0
ลองเอาไปดูครับของผมแก้thaiaddressเลยหุหุ
โรงพยาบาลขามทะเลสอ
อ.ขามทะเลสอ จ.นครราชสีมา

ออฟไลน์ monchai

  • Full Member
  • ***
  • กระทู้: 199
  • Respect: 0
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #3 เมื่อ: กุมภาพันธ์ 17, 2011, 16:40:33 PM »
0
ทดสอบใช้คำสั่งใน Sql นี้ดูซิครับ
ถ้าเอาทั้งหมดก็ตัด limit 100 ออกครับ

select t.*,t1.name,t2.name,t3.name
from thaiaddress t
left outer join thaiaddress t1 on t1.chwpart = t.chwpart and t1.codetype = 1
left outer join thaiaddress t2 on concat(t2.chwpart,t2.amppart) = concat(t.chwpart,t.amppart) and t2.codetype = 2
left outer join thaiaddress t3 on t3.addressid = t.addressid and t3.codetype = 3
limit 100
 

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #4 เมื่อ: กุมภาพันธ์ 17, 2011, 17:31:37 PM »
0
ลองเอาไปดูครับของผมแก้thaiaddressเลยหุหุ

ผมลองลบ ข้อมูลในตารางแล้ว Appen ใหม่ไม่ได้ครับ  งง ???
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #5 เมื่อ: กุมภาพันธ์ 17, 2011, 17:32:48 PM »
0
ทดสอบใช้คำสั่งใน Sql นี้ดูซิครับ
ถ้าเอาทั้งหมดก็ตัด limit 100 ออกครับ

select t.*,t1.name,t2.name,t3.name
from thaiaddress t
left outer join thaiaddress t1 on t1.chwpart = t.chwpart and t1.codetype = 1
left outer join thaiaddress t2 on concat(t2.chwpart,t2.amppart) = concat(t.chwpart,t.amppart) and t2.codetype = 2
left outer join thaiaddress t3 on t3.addressid = t.addressid and t3.codetype = 3
limit 100

ถ้าผมใช้คำสั่งนี้อยู่แล้วจะนำมา Mix กันทำไง
select h.hospcode,concat(h.chwpart,h.amppart,h.tmbpart) as aid,h.hospital_type_id,h.hosptype,h.name,th.full_name,h.moopart,h.chwpart,h.amppart,h.tmbpart
from hospcode h
left outer join thaiaddress th on th.addressid=concat(h.chwpart,h.amppart,h.tmbpart)
where hospital_type_id in ("2","5","6","7","11","12","15")
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ panus_t

  • Hero Member
  • *****
  • กระทู้: 2,368
  • Respect: +8
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #6 เมื่อ: กุมภาพันธ์ 17, 2011, 18:10:07 PM »
0
รู้แล้วต้องเพิ่มฟิลด์ก่อน
alter table thaiaddress add cname varchar(50)
แบบนี้ไม่รู้ว่าถูกหรือเปล่า
โรงพยาบาลเสิงสาง จ.นครราชสีมา (ขนาด  60  เตียง ปี2554)  ขึ้นระบบโดยทีมงาน BMS  เมื่อเดือนเมษายน 2551
ก่อนหน้านั้นขึ้นระบบเมื่อ 07/07/07 ฤกษ์ดี  Master Server  IBM System x3500M4  RAM ECC 24 GB. HardDisk SAS 450x3 GB. ServerRAID M1100 Series Zero RAID5  OS:CentOS 6.4  MySQLPercona : 5.5.30-30.1

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #7 เมื่อ: กุมภาพันธ์ 17, 2011, 21:42:09 PM »
0
select h.hospcode,concat(h.chwpart,h.amppart,h.tmbpart) as aid,h.hospital_type_id,h.hosptype,h.name,th.full_name,h.moopart,h.chwpart,h.amppart,h.tmbpart,

th.name as tmb , th_amp.name as amp , th_chw.name as chw

from hospcode h

left outer join thaiaddress th on th.addressid=concat(h.chwpart,h.amppart,h.tmbpart)
left outer join thaiaddress th_amp on th_amp.addressid=concat(h.chwpart,h.amppart,"00")
left outer join thaiaddress th_chw on th_chw.addressid=concat(h.chwpart,"0000")


where hospital_type_id in ("2","5","6","7","11","12","15")

ถ้าจำชื่อฟิลไม่ผิดน่าจะประมาณนี้นะครับ
เดี๋ยวมีเครื่องลอรันโค้ดจะลองดูให้อีกทีครับ
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ Last Samurai

  • Newbie
  • *
  • กระทู้: 15
  • Respect: 0
    • ดูรายละเอียด
Re: มีตารางไหนที่แตก ต. อ.และ จ. เป็นคนละคอลัม บ้างครับ
« ตอบกลับ #8 เมื่อ: กุมภาพันธ์ 18, 2011, 08:12:14 AM »
0
ขอโทษทีครับโครงสร้างตารางthaiaddressของผม
CREATE TABLE `thaiaddress` (
  `addressid` varchar(6) NOT NULL DEFAULT '',
  `name` varchar(50) DEFAULT NULL,
  `chwpart` char(2) DEFAULT NULL,
  `amppart` char(2) DEFAULT NULL,
  `tmbpart` char(2) DEFAULT NULL,
  `codetype` char(1) DEFAULT NULL,
  `pocode` varchar(5) DEFAULT NULL,
  `full_name` varchar(250) DEFAULT NULL,
  `tname` varchar(45) DEFAULT NULL,
  `aname` varchar(45) DEFAULT NULL,
  `cname` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`addressid`),
  KEY `amppart` (`amppart`),
  KEY `chwpart` (`chwpart`),
  KEY `codetype` (`codetype`),
  KEY `name` (`name`),
  KEY `tmbpart` (`tmbpart`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620
โรงพยาบาลขามทะเลสอ
อ.ขามทะเลสอ จ.นครราชสีมา