- การเขียน Script SQL "Select" อย่างง่าย
- ใช้คิวรี่(Query)ข้อมูล JHCIS ผ่านโปรแกรม Navicat
2.จากนั้นเลือก New Query จะได้หน้าว่างๆ"สำหรับเขียนQuery" ขึ้นมา 1 หน้า ดังรูป
4.คลิ๊ก Query builder (ด้านซ้าย) จะได้กล่อง ขึ้นมา1 กล่อง สเมือนตัวแทน ตารางที่เราเลือกไว้ "คือตารา person" ซึ่งในช่องด้านซ้ายเราสามารถเลือกได้ว่าจะให้แสดงตารางอะไรออกมาให้เราดูได้บ้าง
เช่น ต้องการคน อายุ 35 ปีขึ้นไป (ก็กำหนดเงือนไข ดังนี้)
" WHERE getAgeYearNum(person.birth,CURDATE()) >=35 "
หรือต้องการ เฉพาะ type 1,3 คือ ประชากรที่รับผิดชอบ (ตามโปรแกรม JHCIS) ก็แค่เพิ่มเงื่อนไข
" AND person.typelive in ('1','3')"
หรือ อยากให้ข้อมูลเรียง ตามหมู่ ก็เพิ่มเงื่อนไข "ORDER BY person.mumoi"
หรือเรียงทั้งหมู่และบ้านเลขที่ ก็ตามนี้ ORDER BY person.mumoi,person.hnomoi ASC
และสุดท้ายอย่าลืม เครื่องหมาย (;) ปิดท้ายนะครับ ..โปรแกรมจะได้เข้าใจว่าให้ประมวลผลถึงไหนครับ
" ดูตัวอย่าง"
7.สิ่งสำคัญในการselect ข้อมูลจากฐานข้อมูลใดๆ ก็ตาม ต้องรู้จักตารางและคอลัมน์ ในตารางนั้นๆว่า รหัสหรือเงื่อนไขที่โปรแกรมเมอร์กำหนดไว้ หมายถึงอะไร และเกี่ยวข้องกับตารางอื่นอย่างไร(Relation)
ยกตัวอย่าง จากตาราง person (ด้านบน) หากเราต้องการหาเงื่อนไขเพิ่มอีกว่า "ให้ตัดคนที่เสียชีวิตแล้วออกทั้งหมด" เราก็ต้องเพิ่มเงื่อนไขที่ว่า "ให้เลือกประชากร35 ปีที่มีทั้งหมดและ ลบ ออกด้วย ประชากรจากตารางคนที่เสียชีวิตแล้ว (ตาราง persondeath) ขั้นตอนคือ เพิ่ม เงื่อนไขต่อไปนี้เข้าไป "AND person.pid NOT in (SELECT persondeath.pid FROM persondeath)" ทั้งนี้ต้องอยู่ก่อน แถว Order by นะครับ
8.หากจะตัดข้อมูลผู้ป่วยเรื้อรังออกจากกลุ่มอายุ 35 ปี ขึ้นไป ออกด้วย (เพื่อนำไปเป็นเป้าหมายคัดกรอง ใน Screenning ก็เพิ่มเงื่อนไข "AND person.pid NOT IN (SELECT personchronic.pid FROM personchronic)"
ตามนี้ครับ
SELECT
person.pcucodeperson,
person.pid,
person.prename,
person.fname,
person.lname,
person.birth,
person.sex,
person.mumoi,
person.hnomoi
FROM person
WHERE getAgeYearNum(person.birth,CURDATE()) >=35
AND person.typelive in ('1','3')
AND person.pid NOT in (SELECT persondeath.pid FROM persondeath)
AND person.pid NOT IN (SELECT personchronic.pid FROM personchronic)
ORDER BY person.mumoi,person.hnomoi ASC;
ไม่มีความคิดเห็น:
แสดงความคิดเห็น