BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: sawit2011 ที่ มกราคม 09, 2012, 15:21:51 PM

หัวข้อ: คำสั่ง sql
เริ่มหัวข้อโดย: sawit2011 ที่ มกราคม 09, 2012, 15:21:51 PM
พี่คับผมเขียน report และมัน โชว์ แบบนี้ คับ

 27-12-2010
     
        HN 5000000     นาย....       อายุ.....
                  VN 0000001 
    ------------------------------------------------------
        HN 5000001     นาย....       อายุ.....
                VN 0000002
                VN 0000003
    -------------------------------------------------------
       HN 5000002     นาย....       อายุ.....
               VN 0000004
    -------------------------------------------------------
 ซึ้ง ผมอยากให้มัน โชว์ เฉพาะ คนที่มี VN 2 ตัวขึ่นไปอ่ะคับ แบบนี้

 27-12-2010
    ------------------------------------------------------
        HN 5000001     นาย....       อายุ.....
                VN 0000002
                VN 0000003
    ------------------------------------------------------- 
   จะต้อง  ใช้คำสั่งยังไงคับ         
           
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: redfireball ที่ มกราคม 09, 2012, 16:38:42 PM
query dataset น่าจะได้ประมาณนี้
set @dt1 := '2012-01-08';
set @dt2 := '2012-01-08';

select v2.vstdate,v2.hn,concat(p.pname,p.fname,space(2),p.lname) as ptname,v2.age_y,v2.vn
from vn_stat v2 left join patient p on p.hn = v2.hn
where v2.vstdate between @dt1 and @dt2 and v2.hn in
(
select v1.hn
from vn_stat v1
where v1.vstdate between @dt1 and @dt2
group by v1.hn
having count(v1.vn) > 1)
order by v2.vstdate,v2.hn,v2.vn

แต่ต้องใช้ function "Groups" ใน report design เข้าช่วยอีก
ลองส่งไฟล์รายงาน.cds ขึ้นมาดูครับ  :) :)
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: sawit2011 ที่ มกราคม 10, 2012, 10:19:47 AM
 ;D ;D   ??? ???นี้คับ พี่ ใส่code พี่ไปแล้วเดี้ยง ทั่งระบบเลย คริคริ
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: nutsuanplu ที่ มกราคม 10, 2012, 12:14:09 PM
ลองดูอันนี้ได้รึเปล่าครับ

select *,count(hn)as cc from vn_stat
where vstdate = "2012-01-09"
group by hn
having cc>1

ใช้ function "Groups" ใน report design เข้าช่วยอีก ตามท่าน redfireball ครับ

หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: sawit2011 ที่ มกราคม 10, 2012, 13:35:49 PM
จะลองทำดูคับ  :D :D
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: sawit2011 ที่ มกราคม 10, 2012, 14:31:27 PM
ของ พี่ nutsuanplu ใช้ได้ น่ะคับ แต่ คนที่มี vn มากกว่า 1 นิ มันจะ โชว์ แค่ vn แรกสุด อันเดียวอ่ะคับ
ไม่โชว์ หมด อ่ะคับ

 สมมุติ ว่า มันจะโชว์แบบนี้ อ่ะคับ

                    HN 5500001
                                 VN00000001
                                 ----------------------------------------------
แบบนี้ อ่ะคับ ทั่งๆๆ ที่เค้ามี
                      HN 5500001
                                 VN00000001
                                 VN00000002
                                 VN00000003
                                 ----------------------------------------------
 อ่ะคับ
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ มกราคม 10, 2012, 16:08:52 PM
;D ;D   ??? ???นี้คับ พี่ ใส่code พี่ไปแล้วเดี้ยง ทั่งระบบเลย คริคริ

การใช้ SubQuery  ต้องระวังครับ  มันจะมีปัญหาเวลาที่ดึงข้อมูลปริมาณมาก ๆ
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: nutsuanplu ที่ มกราคม 10, 2012, 17:04:54 PM
ของ พี่ nutsuanplu ใช้ได้ น่ะคับ แต่ คนที่มี vn มากกว่า 1 นิ มันจะ โชว์ แค่ vn แรกสุด อันเดียวอ่ะคับ
ไม่โชว์ หมด อ่ะคับ

 สมมุติ ว่า มันจะโชว์แบบนี้ อ่ะคับ

                    HN 5500001
                                 VN00000001
                                 ----------------------------------------------
แบบนี้ อ่ะคับ ทั่งๆๆ ที่เค้ามี
                      HN 5500001
                                 VN00000001
                                 VN00000002
                                 VN00000003
                                 ----------------------------------------------
 อ่ะคับ


ลองดาวน์โหลดไฟล์แนบด้านล่างไปใช้ดูนะครับ
ได้ความว่าอย่างไร หรือจะให้แก้ไขตรงไหน ก็แจ้งมานะครับ  ;D
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: sawit2011 ที่ มกราคม 12, 2012, 08:32:08 AM
ลองดูแล้วคับ ของพี่ทำไม vn ซ้ำหมดทุกคนเลยอ่ะคับ   ??? ???
หัวข้อ: Re: คำสั่ง sql
เริ่มหัวข้อโดย: nutsuanplu ที่ มกราคม 12, 2012, 09:39:07 AM
ลองดูแล้วคับ ของพี่ทำไม vn ซ้ำหมดทุกคนเลยอ่ะคับ   ??? ???

ลองโหลดใหม่ดูนะครับ แก้ตัว ฮิฮิ  ;D