BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: butsanta ที่ พฤษภาคม 19, 2010, 13:10:13 PM

หัวข้อ: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: butsanta ที่ พฤษภาคม 19, 2010, 13:10:13 PM
รบกวนขอคำแนะนำจากทุกท่านด้วยครับ คือผมต้องการดึงข้อมูล record รองสุดท้ายจะต้องใช้คำสั่งอย่างไรครับ
เช่น  มีข้อมูล 5 record 1,2,3,4,5 แต่ผมต้องการดึงข้อมูลลำดับที่ 4 ออกมาจะต้องเขียนคำสั่ง sql ยังไงครับ
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: redfireball ที่ พฤษภาคม 19, 2010, 13:34:26 PM
ใช้ limit เข้ามาช่วยครับ
limit 1 คือ record 1
limit 1,1 คือ record 2
limit 2,1 คือ record 3
limit 3,1 คือ record 4
limit 4,1 คือ record 5
ตามโจทย์ คือ record 4 ก็จะได้เป็น
select *
from patient
order by hn
limit 3,1
ประมานนี้ครับ  :) :) :)
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: butsanta ที่ พฤษภาคม 19, 2010, 13:38:28 PM
แต่ในการประยุกต์ใช้งานจริงเราจะ limit ไม่ได้นะครับ เช่น ผมต้องการดึงเอา record รองจาก record สุดท้ายจากตาราง an_stat ครับ  เช่น คนไข้ admit จำนวน 5 ครั้ง  ผมต้องการดึงรายงานการ re-admit โดยดึงเอาครั้งที่รับบริการก่อนล่าสุด และการรับบริการครั้งล่าสุดครับ
                 
ไม่ทราบจะต้องใช้คำสั่งยังไงครับ
หัวข้อ: ขอรายงาน ความดันโลหิตและเบาหวาน
เริ่มหัวข้อโดย: prapan ที่ พฤษภาคม 19, 2010, 13:49:29 PM
ใครมีรายงานที่กองทุนจัดการโรคเรื้อรังต้องการบ้างครับ
ที่มี ข้อมูลเบาหวาน+ความดัน 11 ข้อ และ ความดัน9ข้อ
ขอด้วยทำให้เขาไม่ทัน
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ พฤษภาคม 19, 2010, 13:57:43 PM
ถ้าจะเอาข้อมูลรองสุดท้ายก็


order by field  DESC
limit 1,1  ก็ได้นะครับ

คือเรียงกลับด้านแล้วเอา Record ที่  1


อย่าง  an_stat  เราจะเอา  admit  ครั้งรองสุดท้ายก็

select * from an_stat
where hn="xxxxxxx"
order by dchdate DESC
limit 1,1
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: butsanta ที่ พฤษภาคม 19, 2010, 16:03:04 PM
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ พฤษภาคม 19, 2010, 16:08:46 PM
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ

ลองส่ง  SQL  ที่เขียนไว้โพสขึ้นมาดูครับ  พร้อมกับบอกว่าต้องการข้อมูลแบบไหน
รับรองแถวนี้  เทพเพียบ   ;D
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: redfireball ที่ พฤษภาคม 19, 2010, 16:14:28 PM
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ
ไม่รู้ผมเข้าใจโจทย์ถูกอีกหรือเปล่าน่ะครับ
select a.regdate,a.pdx as 'diag record รองสุดท้าย'
,(select a1.pdx from an_stat a1 where a1.hn = a.hn order by a1.regdate desc limit 1) as 'diag record สุดท้าย'
,a.*
from an_stat a
where a.hn = 'xxxxxxx'
order by a.regdate desc
limit 1,1
 :) :)
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: Auing ที่ พฤษภาคม 19, 2010, 16:16:41 PM
ได้แล้วครับ ขอบพระคุณทุกท่านมากครับ แต่รบกวนถามต่ออีกนิดครับ
ถ้าต้องการให้ diag ของ record รองสุดท้าย=diag ของ record สุดท้ายต้องใช้คำสั่งยังไงครับ
รบกวนด้วยนะครับ ผมรู้น้อยจริงๆ


กด Thank  เบาๆ  ให้พี่ท่านด้วย... ;) ;) :D ;D
หัวข้อ: Re: รบกวนขอคำสั่งsql ครับ
เริ่มหัวข้อโดย: butsanta ที่ พฤษภาคม 19, 2010, 16:41:49 PM
สิ่งที่ต้องการคือ  รายงานการ re-admit ด้วยโรคเดิม  ภายใน 7วัน หรือ 28 วันครับ
โดย Diag record รองสุดท้าย จะต้องเป็น diag เดียวกับกับ diag ของ record สุดท้ายจาก an_stat ครับ