2) 64 เจาะ HTC ป.1

Update Delete

ID831
Parent ID62
Table Name64_iron_htc_result
Title2) 64 เจาะ HTC ป.1
Description
Script#SQL_OPTIONS#
PROVIDERS=1
PROVIDER1=43STD
PROVIDER1_VALIDATE_TABLES=ncdscreen,t_person_db
SCRIPT_FLOW=SQL
#SQL_OPTIONS#

#PROVIDER1_SQL#

SET @provcode = :provcode;
SET @rep_year = :rep_year;
SET @hoscode = :hoscode;
SET @hosname = :hosname;
SET @hostype = :hostype;
SET @address = :address;
SET @subdistcode = :subdistcode;
SET @distcode = :distcode;
SET @level_service = :level_service;

SET @prov_c := @provcode;
SET @b_year:='2021';
SET @c_year = '2563';
SET @term = '1';
SET @start_d:=concat(@b_year-1,'-10-15');
SET @end_d:=concat(@b_year,'-07-31');


##
#สร้างตารางนักเรียนป1 จากตาราง tmp ก่อนหน้านี้
DROP TABLE IF EXISTS tmp_iron_student_gread1;
CREATE TABLE IF NOT EXISTS tmp_iron_student_gread1
ENGINE=MyISAM AS
#------------------------
(
SELECT * FROM tmp_iron_student WHERE Gragd LIKE '211%'
);

#สร้างตาราง tmp_community HCT ในช่วงเวลาที่กำหนด
DROP TABLE IF EXISTS tmp_iron_student_community;
CREATE TABLE IF NOT EXISTS tmp_iron_student_community(INDEX(hospcode,pid))
ENGINE=MyISAM AS
#-----------------------
(
SELECT
a.HOSPCODE,a.PID,a.CID,CONCAT(a.`NAME`,' ',a.LNAME) AS 'PNAME',
GROUP_CONCAT(b.HOSPCODE ORDER BY b.date_serv) AS 'G_HOSP',
GROUP_CONCAT(b.DATE_SERV ORDER BY b.date_serv) AS 'G_DATE_SERV',
GROUP_CONCAT(b.COMSERVICE ORDER BY b.date_serv) AS 'G_COMSERVICE'
FROM t_person_db a
INNER JOIN community_service b ON (a.HOSPCODE=b.HOSPCODE AND a.PID=b.PID)
WHERE b.DATE_SERV BETWEEN @start_d AND @end_d
AND b.COMSERVICE IN ('1H301','1H3010','1H3011','1H3012','1H3013')
GROUP BY a.CID
ORDER BY a.hospcode
);

#สร้างตารางเก็บข้อมูล LabFu ในช่วงเวลาที่กำหนด พี่กิตขอมา
DROP TABLE IF EXISTS tmp_iron_student_labfu;
CREATE TABLE IF NOT EXISTS tmp_iron_student_labfu(INDEX(hospcode,pid))
ENGINE=MyISAM AS
#--------------------------
(
SELECT
a.HOSPCODE,a.PID,a.CID,CONCAT(a.`NAME`,' ',a.LNAME) AS 'PNAME',
GROUP_CONCAT(b.HOSPCODE,' ' ORDER BY b.date_serv) AS 'G_Lab_Hosp',
GROUP_CONCAT(b.DATE_SERV,' ' ORDER BY b.date_serv) AS 'G_Lab_DateServ',
GROUP_CONCAT(b.LABTEST,' ' ORDER BY b.date_serv) AS 'G_Lab_Labtest',
GROUP_CONCAT(b.LABRESULT,' ' ORDER BY b.date_serv) AS 'G_Lab_Labresult'
FROM t_person_db a
LEFT OUTER JOIN labfu b ON (a.HOSPCODE = b.HOSPCODE AND a.PID=b.PID)
WHERE b.DATE_SERV BETWEEN @start_d AND @end_d
AND b.LABTEST IN (0621201,0620401,0621401,0621402)
GROUP BY a.CID
ORDER BY a.hospcode
);

#นำผลงานมา join นักเรียน community และ labfu มา join นักเรียน
DROP TABLE IF EXISTS 2_iron_student_community;
CREATE TABLE IF NOT EXISTS 2_iron_student_community
ENGINE=MyISAM AS
#---------------------------
(
SELECT a.*,
b.G_HOSP,b.G_DATE_SERV,b.G_COMSERVICE,
c.G_Lab_Hosp,c.G_Lab_DateServ,c.G_Lab_Labtest,c.G_Lab_Labresult
FROM tmp_iron_student_gread1 a
LEFT OUTER JOIN tmp_iron_student_community b ON a.PersonID=b.CID
LEFT OUTER JOIN tmp_iron_student_labfu c ON a.PersonID=c.CID
);

#------------------------------------------------------------------------------
#เพ่ิมเตมจากวันที่ปรุชม
#สร้างตาราง tmp เด็กที่อายุ 6 - 8 ปี
DROP TABLE IF EXISTS tmp_iron_student_gread1_community;
CREATE TABLE IF NOT EXISTS tmp_iron_student_gread1_community
ENGINE=MyISAM AS
#--------------------------
(
SELECT * FROM tmp_iron_non_student WHERE Age_y BETWEEN 6 AND 8
);
#นำผลงานมา join community และ labfu เชื่อมกับตารางที่ไม่ใช่นักเรียน
DROP TABLE IF EXISTS 2_iron_non_student_community;
CREATE TABLE IF NOT EXISTS 2_iron_non_student_community
ENGINE=MyISAM AS
#------------------------------
(
SELECT a.*,
b.G_HOSP,b.G_DATE_SERV,b.G_COMSERVICE,
c.G_Lab_Hosp,c.G_Lab_DateServ,c.G_Lab_Labtest,c.G_Lab_Labresult
FROM tmp_iron_student_gread1_community a
INNER JOIN tmp_iron_student_community b ON a.PersonID=b.CID
LEFT OUTER JOIN tmp_iron_student_labfu c ON a.PersonID=c.CID
);
DROP TABLE IF EXISTS tmp_iron_student_gread1_community;

#เเอาผลงานที่ไม่มีในแฟ้ม student ไปรวมกับตารางนักเรียน
INSERT IGNORE INTO 2_iron_student_community (SELECT * FROM 2_iron_non_student_community);
#
#ลบตาราง tmp ผลงานทั้งหมด
DROP TABLE IF EXISTS tmp_iron_student_community;
DROP TABLE IF EXISTS tmp_iron_student_gread1;
DROP TABLE IF EXISTS 2_iron_non_student_community;
DROP TABLE IF EXISTS tmp_iron_student_labfu;
#ลบตาราง tmp เป้าหมาย
#DROP TABLE IF EXISTS tmp_iron_non_student;
#----------------------------------------------
#DROP TABLE IF EXISTS tmp_iron_student;
#---------------------------------------------


SELECT * FROM 2_iron_student_community;




#PROVIDER1_SQL#
Script Cron
Force Script Cron0
Active1
Client Office Type
Create Date2020-12-16 11:59:02
Last Update2021-08-05 11:28:58