ผู้เขียน หัวข้อ: คำสั่ง sql  (อ่าน 7310 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ sawit2011

  • Jr. Member
  • **
  • กระทู้: 67
  • Respect: 0
    • ดูรายละเอียด
คำสั่ง sql
« เมื่อ: มกราคม 09, 2012, 15:21:51 PM »
0
พี่คับผมเขียน 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
    ------------------------------------------------------- 
   จะต้อง  ใช้คำสั่งยังไงคับ         
           
:D นายสาวิทย์ รองนุชิต
;) โรงพยาบาลสะเดา จ.สงขลา
  • HOSXP XE 4.0 65.05.3
  • IPD Paperless - HOSxP
8) :P Mail : sawit2004@hotmail.com :) :o :D >:D  

ออฟไลน์ redfireball

  • Full Member
  • ***
  • กระทู้: 219
  • คุณแม่ขอร้อง..ร้อง....
  • Respect: +4
    • ดูรายละเอียด
Re: คำสั่ง sql
« ตอบกลับ #1 เมื่อ: มกราคม 09, 2012, 16:38:42 PM »
0
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 ขึ้นมาดูครับ  :) :)
โรงพยาบาลสังคม
SANGKHOM HOSPITAL
30 เตียง อ.สังคม จ.หนองคาย
http://www.sangkhomhospital.com
ขึ้นระบบ 5 ธ.ค. 51

ออฟไลน์ sawit2011

  • Jr. Member
  • **
  • กระทู้: 67
  • Respect: 0
    • ดูรายละเอียด
Re: คำสั่ง sql
« ตอบกลับ #2 เมื่อ: มกราคม 10, 2012, 10:19:47 AM »
0
 ;D ;D   ??? ???นี้คับ พี่ ใส่code พี่ไปแล้วเดี้ยง ทั่งระบบเลย คริคริ
:D นายสาวิทย์ รองนุชิต
;) โรงพยาบาลสะเดา จ.สงขลา
  • HOSXP XE 4.0 65.05.3
  • IPD Paperless - HOSxP
8) :P Mail : sawit2004@hotmail.com :) :o :D >:D  

ออฟไลน์ nutsuanplu

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +3
    • ดูรายละเอียด
    • ฝากผลงาน web รายงานผล lab ด้วยครับ
Re: คำสั่ง sql
« ตอบกลับ #3 เมื่อ: มกราคม 10, 2012, 12:14:09 PM »
0
ลองดูอันนี้ได้รึเปล่าครับ

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

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

ณัฐวุฒิ วงษ์แพทย์
นักวิชาการคอมพิวเตอร์
โรงพยาบาลอู่ทอง จังหวัดสุพรรณบุรี

ออฟไลน์ sawit2011

  • Jr. Member
  • **
  • กระทู้: 67
  • Respect: 0
    • ดูรายละเอียด
Re: คำสั่ง sql
« ตอบกลับ #4 เมื่อ: มกราคม 10, 2012, 13:35:49 PM »
0
จะลองทำดูคับ  :D :D
:D นายสาวิทย์ รองนุชิต
;) โรงพยาบาลสะเดา จ.สงขลา
  • HOSXP XE 4.0 65.05.3
  • IPD Paperless - HOSxP
8) :P Mail : sawit2004@hotmail.com :) :o :D >:D  

ออฟไลน์ sawit2011

  • Jr. Member
  • **
  • กระทู้: 67
  • Respect: 0
    • ดูรายละเอียด
Re: คำสั่ง sql
« ตอบกลับ #5 เมื่อ: มกราคม 10, 2012, 14:31:27 PM »
0
ของ พี่ nutsuanplu ใช้ได้ น่ะคับ แต่ คนที่มี vn มากกว่า 1 นิ มันจะ โชว์ แค่ vn แรกสุด อันเดียวอ่ะคับ
ไม่โชว์ หมด อ่ะคับ

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

                    HN 5500001
                                 VN00000001
                                 ----------------------------------------------
แบบนี้ อ่ะคับ ทั่งๆๆ ที่เค้ามี
                      HN 5500001
                                 VN00000001
                                 VN00000002
                                 VN00000003
                                 ----------------------------------------------
 อ่ะคับ
:D นายสาวิทย์ รองนุชิต
;) โรงพยาบาลสะเดา จ.สงขลา
  • HOSXP XE 4.0 65.05.3
  • IPD Paperless - HOSxP
8) :P Mail : sawit2004@hotmail.com :) :o :D >:D  

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: คำสั่ง sql
« ตอบกลับ #6 เมื่อ: มกราคม 10, 2012, 16:08:52 PM »
0
;D ;D   ??? ???นี้คับ พี่ ใส่code พี่ไปแล้วเดี้ยง ทั่งระบบเลย คริคริ

การใช้ SubQuery  ต้องระวังครับ  มันจะมีปัญหาเวลาที่ดึงข้อมูลปริมาณมาก ๆ
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ nutsuanplu

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +3
    • ดูรายละเอียด
    • ฝากผลงาน web รายงานผล lab ด้วยครับ
Re: คำสั่ง sql
« ตอบกลับ #7 เมื่อ: มกราคม 10, 2012, 17:04:54 PM »
0
ของ พี่ nutsuanplu ใช้ได้ น่ะคับ แต่ คนที่มี vn มากกว่า 1 นิ มันจะ โชว์ แค่ vn แรกสุด อันเดียวอ่ะคับ
ไม่โชว์ หมด อ่ะคับ

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

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


ลองดาวน์โหลดไฟล์แนบด้านล่างไปใช้ดูนะครับ
ได้ความว่าอย่างไร หรือจะให้แก้ไขตรงไหน ก็แจ้งมานะครับ  ;D
ณัฐวุฒิ วงษ์แพทย์
นักวิชาการคอมพิวเตอร์
โรงพยาบาลอู่ทอง จังหวัดสุพรรณบุรี

ออฟไลน์ sawit2011

  • Jr. Member
  • **
  • กระทู้: 67
  • Respect: 0
    • ดูรายละเอียด
Re: คำสั่ง sql
« ตอบกลับ #8 เมื่อ: มกราคม 12, 2012, 08:32:08 AM »
0
ลองดูแล้วคับ ของพี่ทำไม vn ซ้ำหมดทุกคนเลยอ่ะคับ   ??? ???
:D นายสาวิทย์ รองนุชิต
;) โรงพยาบาลสะเดา จ.สงขลา
  • HOSXP XE 4.0 65.05.3
  • IPD Paperless - HOSxP
8) :P Mail : sawit2004@hotmail.com :) :o :D >:D  

ออฟไลน์ nutsuanplu

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +3
    • ดูรายละเอียด
    • ฝากผลงาน web รายงานผล lab ด้วยครับ
Re: คำสั่ง sql
« ตอบกลับ #9 เมื่อ: มกราคม 12, 2012, 09:39:07 AM »
0
ลองดูแล้วคับ ของพี่ทำไม vn ซ้ำหมดทุกคนเลยอ่ะคับ   ??? ???

ลองโหลดใหม่ดูนะครับ แก้ตัว ฮิฮิ  ;D
ณัฐวุฒิ วงษ์แพทย์
นักวิชาการคอมพิวเตอร์
โรงพยาบาลอู่ทอง จังหวัดสุพรรณบุรี