BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: Guitar-hero ที่ กุมภาพันธ์ 08, 2012, 11:52:07 AM
-
รบกวนด้วยครับ
ขอ sql ที่ดึงข้อมูลจากตาราง rcpt_arrear แบบ group by ค่าใช้จ่ายที่ค้างชำระ แต่ละคนครับ รูปแบบที่ต้องการเป็นแบบนี้ครับ
HN ชื่อ - สกุล ยอดเงินที่ค้างชำระ (sum amount)
xxx xxxxxxxxxxxx 999.99
xxx xxxxxxxxxxxx 999.99
xxx xxxxxxxxxxxx 999.99
xxx xxxxxxxxxxxx 999.99
-
select r.hn,concat(p.pname,p.fname,space(2),p.lname) as pt,sum(r.amount) as cc
from rcpt_arrear r
left join patient p on p.hn = r.hn
where r.paid = 'N'
group by r.hn
order by r.hn
ลองดูครับ ;)
-
แต่มีเงื่อนไขเพิ่มเติมอยู่ ว่า
ให้แสดงจำนวนคนไข้ ตามวันที่ต้องการ แต่ให้รวมจำนวนครั้งการค้างชำระ ของคนไข้ แต่ละคนทั้งหมดครับ
เช่น คนไข้
HN vstdate Paid amount
4902254 01/12/54 N 500
4902254 01/01/55 N 1500
เวลาแสดงผล วันที่ 01-01-55 ต้องเป็นแบบนี้
HN amount
4902254 1500
ตอนนับรวมยอดค้างจ่ายจะไม่สนใจวันที่ จะสนใจว่า Paid =N หรือไม่ แต่ตอนแสดงรายชื่อคนไข้จะดึงเฉพาะวันที่เลือก
-
แต่มีเงื่อนไขเพิ่มเติมอยู่ ว่า
ให้แสดงจำนวนคนไข้ ตามวันที่ต้องการ แต่ให้รวมจำนวนครั้งการค้างชำระ ของคนไข้ แต่ละคนทั้งหมดครับ
เช่น คนไข้
HN vstdate Paid amount
4902254 01/12/54 N 500
4902254 01/01/55 N 1500
เวลาแสดงผล วันที่ 01-01-55 ต้องเป็นแบบนี้
HN amount
4902254 1500
ตอนนับรวมยอดค้างจ่ายจะไม่สนใจวันที่ จะสนใจว่า Paid =N หรือไม่ แต่ตอนแสดงรายชื่อคนไข้จะดึงเฉพาะวันที่เลือก
select r.hn,r.vn,concat(p.pname," ",p.fname," ",p.lname)as fullname,r.arrear_date,sum(r.amount)as sum_amount
from rcpt_arrear r
left outer join patient p on p.hn = r.hn
where arrear_date between "2012-01-01" and "2012-01-30" and r.paid = "N"
group by r.vn
order by r.arrear_date
อันนี้ใช้ได้รึเปล่าครับ