สารบัญ

/*ของทารกแรกเกิดน้ำหนักน้อยกว่า 2,500 กรัม*/

SET @x=0;

set @date1 ='2015-10-01',@date2='2017-09-30';

SELECT

@x:=@x+1 AS 'No.',p.pname, CONCAT(p.fname, SPACE(1),p.lname) AS'person_name',p.sex,pw.birth_weight,pw.age_m

FROM person_wbc AS pw

INNER JOIN person AS p ON p.person_id = pw.person_id

WHERE pw.birth_weight <='2500'

AND pw.out_region <>'Y'

AND pw.discharge <>'y'

and pw.person_wbc_regdate between @date1 and @date2

group by p.cid

#---------------------

ตัวอย่าง

No. pname person_name sex birth_weight age_m
1 ด.ช. กฤษดา XXX 1 2500.00 21
2 ด.ช. ภาคิน XXX 1 2410.00 19
3 ด.ญ. เกตุขนิฐ XXX 2 1845.00 11
4 ด.ญ. กนกวรรณ XXX 2 1920.00 11
5 ด.ช. อานุชา XXX 1 2165.00 6

/*ภาวะโภชนาการเด็ก 0-6 เดือน ปีงบประมาณ ทุกคนรวมนอกเขต*/

#+++++++++++++++++++++++++++++

set @age_m =6;/*   6เดือน*/

set @date='2015-10-01';/*ปีงบประมาณ*/

#+++++++++++++++++++++++++++++

SELECT

p.pname,concat(p.fname,space(1),p.lname) AS Child_name,

p.sex,TIMESTAMPDIFF(month,p.birthdate,@date) AS age_month,

p.house_regist_type_id AS Typearea,

(SELECT bl. name from person_wbc_nutrition as pn INNER JOIN bmi_level as bl on bl.bmi_level =pn.bmi_level WHERE person_wbc_id =pw.person_wbc_id ORDER BY nutrition_date desc LIMIT 1) as 'BMI'

from person_wbc as pw

INNER JOIN person as p on pw.person_id = p.person_id

WHERE TIMESTAMPDIFF(month,p.birthdate,@date)<= @age_m

#and p.house_regist_type_id in('1','3') /*หากเลือก type 1,3 เอาเครื่องหมาย # หน้า and p.house_regist_type_id in('1','3' ออก*/

GROUP BY pw.person_id;

#-------------------------

ตัวอย่าง

pname Child_name sex age_month Typearea BMI
ด.ญ. พรณิชา XXX 2 6 3 สมส่วน
ด.ญ. กัญญพัชร XXX 2 6 4 ผอม
ด.ญ. มาริษา XXX 2 6 4 สมส่วน
ด.ช. อกัณห์ XXX 1 6 4 สมส่วน
ด.ช. พงศ์วิชญ์ XXX 1 6 4 ผอม

คำนวน  BMI ตามมาตรฐาน ASIAN

/*ASIAN_bmi(College of Sports Science and Technology (CSST)

, MAHIDOL UNIVERSITY)*/

select n.vn,n.nutrition_date,p.person_id,

concat(p.fname,space(1),p.lname)as'person_name',

timestampdiff(month,p.birthdate,n.nutrition_date)as'age_m',n.body_weight,n.height,

round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100))) as 'l_bmi'

,if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))<18.5,'thin',

if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))between 18.5 and 22.9,'normal',

if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))between 23 and 24.9 ,'fat_1level',

if(round(n.body_weight/((n.HEIGHT/100)*(n.HEIGHT/100)))between 25 and 29.9 ,'fat_2level','fat_3level')))) as 'ASIAN_bmi'

from person_wbc_nutrition as n

inner join person_wbc as pw on pw.person_wbc_id = n.person_wbc_id

inner join person as p on p.person_id = pw.person_id

where n.nutrition_date >='2015-06-01'

and (n.body_weight is not null

or n.height is not null)

order by n.vn

#--------------

ตัวอย่าง

vn nutrition_date person_id person_name age_m body_weight height l_bmi ASIAN_bmi
21/7/2016 64292 อภิวัฒน์ xxx 24 12 84 17 thin
20/10/2016 64292 อภิวัฒน์ xxx 27 13.6 86 18 thin
20/10/2016 65948 อนุกูล xxx 11 9.8 76 17 thin
30/6/2015 64356 ธนัชชา xxx 9 8 68 17 thin
161004161558 4/10/2016 67491 วิภาพร xxx 0 2.84 53 10 thin
161012092109 11/10/2016 67517 อานุชา xxx 0 2.16 47 10 thin

ยาน้ำเสริมธาตุเหล็กตามสำนักโภชนาการแจ้ง

/*! set names utf8*/;

/*ยาน้ำเสริมธาตุเหล็กตามสำนักโภชนาการแจ้ง

--จากร้อยละของเด็กอายุ 6 เดือน – 5 ปี ได้รับยาน้ำเสริมธาตุเหล็ก

*/

select

icode,name,strength,dosageform,istatus,did,substr(did,1,19)as'19digit'

from

drugitems

where

substr(did, 1, 19) in ('1004974140020403305' ,

'1004974140008008305',

'2020301200871801305',

'1004890000008103305',

'1004890000009501305',

'1004890000009507305',

'1004880000086342304',

'2020301200871801305');

#--------------

ตัวอย่าง

icode name strength dosageform istatus did 19digit
1570025 Eurofer-Iron Syrup 1 g. SYRUPS Y 100497414002040330581606 1004974140020403305