ผู้เขียน หัวข้อ: ขอความช่วยเหลือเรื่องรายงาน  (อ่าน 4326 ครั้ง)

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

ออฟไลน์ shukree

  • Sr. Member
  • ****
  • กระทู้: 294
  • Respect: 0
    • ดูรายละเอียด
ขอความช่วยเหลือเรื่องรายงาน
« เมื่อ: พฤศจิกายน 13, 2010, 22:53:53 PM »
0
อยากให้สามารถเลือกปีงบประมาณ 2554 ได้ด้วยครับ
Sukhirin Hospital Narathiwat 30 เตียง
Server : IBM x226 Xeon 3.2 Ram 512 Mb SCSI 72x2 G OS CentOS 5.1 MySQL 5.5.35Client : PD 2.8 Ram 512 HDD 160 (Acer) WinXP SP2
ขึ้นระบบ กุมภาพันธ์ 2550

ออฟไลน์ smrmpo

  • Hero Member
  • *****
  • กระทู้: 588
  • Respect: 0
    • ดูรายละเอียด
    • https://pkchos.com
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #1 เมื่อ: พฤศจิกายน 13, 2010, 23:05:36 PM »
0
('select "2554" union (select *********)');

พอเข้าใจมั้ยครับ เอา 2554 ไป รวม กับ คำสั่ง sql ที่ มีอยู่ครับ
นักวิชาการคอมพิวเตอร์
โรงพยาบาลประโคนชัย จังหวัดบุรีรัมย์
90 เตียง ขึ้นระบบ 23 พฤศจิกายน 2552(บริษัท BMS ขึ้นให้)
HOSxP : 3.59.6.30
Email : smrmpo@hotmail.com
========================================================================
Master : IBM x3500 M3 CPU E5620 @ 2.40 GHz RAM : 48

ออฟไลน์ shukree

  • Sr. Member
  • ****
  • กระทู้: 294
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #2 เมื่อ: พฤศจิกายน 14, 2010, 00:10:17 AM »
0
แฮะ แฮะ ไม่เข้าใจครับ
ไม่ทราบว่าเพิ่มตรงไหนครับ

begin


     d1 :=GetSQLDateData('select min(vstdate) from ovst');
     d2 :=GetSQLDateData('select max(vstdate) from ovst');
     ds1 := formatdatetime('yyyy-mm-dd',d1);
     ds2 := formatdatetime('yyyy-mm-dd',d2);

     fyear := GetPickupList('select distinct(year(vstdate)) + 543 as cc ,vstdate  from ovst'+
                  ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
                  ' group by cc'+
                  ' order by cc desc' );
     year := fyear;
     fyear := inttostr(strtoint(fyear) - 543) ;

     fyear := inttostr(strtoint(fyear) - 1) ;

     m10 := fyear+'-10-01" and "'+ fyear+'-10-31';
     m11 := fyear+'-11-01" and "'+ fyear+'-11-30';
     m12 := fyear+'-12-01" and "'+ fyear+'-12-31';

     fyear := inttostr(strtoint(fyear) + 1) ;

     m1 :=  fyear+'-01-01" and "'+ fyear+'-01-31';
     m2 := GetSQLStringData('select Date_Add("'+ fyear+'-01-31",interval 1 month) as d');
     m2 := fyear+'-02-01" and "'+ m2 ;

     
     m3 := fyear+'-03-01" and "'+ fyear+'-03-31';

     m4 := fyear+'-04-01" and "'+ fyear+'-04-30';
     m5 := fyear+'-05-01" and "'+ fyear+'-05-31';
     m6 := fyear+'-06-01" and "'+ fyear+'-06-30';
     m7 := fyear+'-07-01" and "'+ fyear+'-07-31';
     m8 := fyear+'-08-01" and "'+ fyear+'-08-31';
     m9 := fyear+'-09-01" and "'+ fyear+'-09-30';


     
end;
Sukhirin Hospital Narathiwat 30 เตียง
Server : IBM x226 Xeon 3.2 Ram 512 Mb SCSI 72x2 G OS CentOS 5.1 MySQL 5.5.35Client : PD 2.8 Ram 512 HDD 160 (Acer) WinXP SP2
ขึ้นระบบ กุมภาพันธ์ 2550

ออฟไลน์ smrmpo

  • Hero Member
  • *****
  • กระทู้: 588
  • Respect: 0
    • ดูรายละเอียด
    • https://pkchos.com
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #3 เมื่อ: พฤศจิกายน 14, 2010, 00:29:33 AM »
0
  fyear := GetPickupList('select "2554" union (select distinct(year(vstdate)) + 543 as cc ,vstdate  from ovst'+
                  ' where vstdate between "'+ds1+'" and "'+ds2+'"'+
                  ' group by cc'+
                  ' order by cc desc)' );

น่าจะประมาณนี้ครับ ตัวสีแดงคือส่วนที่ต้องเพิ่ม
 
นักวิชาการคอมพิวเตอร์
โรงพยาบาลประโคนชัย จังหวัดบุรีรัมย์
90 เตียง ขึ้นระบบ 23 พฤศจิกายน 2552(บริษัท BMS ขึ้นให้)
HOSxP : 3.59.6.30
Email : smrmpo@hotmail.com
========================================================================
Master : IBM x3500 M3 CPU E5620 @ 2.40 GHz RAM : 48

ออฟไลน์ shukree

  • Sr. Member
  • ****
  • กระทู้: 294
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #4 เมื่อ: พฤศจิกายน 14, 2010, 01:22:48 AM »
0
compile แล้วไม่ผ่านตรับ
Sukhirin Hospital Narathiwat 30 เตียง
Server : IBM x226 Xeon 3.2 Ram 512 Mb SCSI 72x2 G OS CentOS 5.1 MySQL 5.5.35Client : PD 2.8 Ram 512 HDD 160 (Acer) WinXP SP2
ขึ้นระบบ กุมภาพันธ์ 2550

ออฟไลน์ smrmpo

  • Hero Member
  • *****
  • กระทู้: 588
  • Respect: 0
    • ดูรายละเอียด
    • https://pkchos.com
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #5 เมื่อ: พฤศจิกายน 14, 2010, 01:33:33 AM »
0
ตัวนี้ครับ ใช้ได้
fyear := GetPickupList('select "2554" union (select distinct(year(vstdate)) + 543 as cc from ovst '+
                  ' where vstdate between "'+ds1+'" and "'+ds2+'" '+
                  ' group by cc '+
                  ' order by cc desc)');
ต้องลบตัวสีแดงออก
select distinct(year(vstdate)) + 543 as cc ,vstdate  from ovst'+

นี่รูปที่ test


« แก้ไขครั้งสุดท้าย: พฤศจิกายน 14, 2010, 01:35:39 AM โดย smrmpo »
นักวิชาการคอมพิวเตอร์
โรงพยาบาลประโคนชัย จังหวัดบุรีรัมย์
90 เตียง ขึ้นระบบ 23 พฤศจิกายน 2552(บริษัท BMS ขึ้นให้)
HOSxP : 3.59.6.30
Email : smrmpo@hotmail.com
========================================================================
Master : IBM x3500 M3 CPU E5620 @ 2.40 GHz RAM : 48

ออฟไลน์ shukree

  • Sr. Member
  • ****
  • กระทู้: 294
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #6 เมื่อ: พฤศจิกายน 14, 2010, 01:46:22 AM »
0
ได้แล้วครับ ขอบคุณครับ
Sukhirin Hospital Narathiwat 30 เตียง
Server : IBM x226 Xeon 3.2 Ram 512 Mb SCSI 72x2 G OS CentOS 5.1 MySQL 5.5.35Client : PD 2.8 Ram 512 HDD 160 (Acer) WinXP SP2
ขึ้นระบบ กุมภาพันธ์ 2550

ออฟไลน์ smrmpo

  • Hero Member
  • *****
  • กระทู้: 588
  • Respect: 0
    • ดูรายละเอียด
    • https://pkchos.com
Re: ขอความช่วยเหลือเรื่องรายงาน
« ตอบกลับ #7 เมื่อ: พฤศจิกายน 14, 2010, 01:49:11 AM »
0
เราสามารถ เอา union มาเชี่อม ตัวเลือกอีกหลายตัวก็ได้นะครับ ต้องลองดู ครับ ใช้ประโยชน์ได้เยอะ เลยครับ
ไปนอนแล้วครับ
นักวิชาการคอมพิวเตอร์
โรงพยาบาลประโคนชัย จังหวัดบุรีรัมย์
90 เตียง ขึ้นระบบ 23 พฤศจิกายน 2552(บริษัท BMS ขึ้นให้)
HOSxP : 3.59.6.30
Email : smrmpo@hotmail.com
========================================================================
Master : IBM x3500 M3 CPU E5620 @ 2.40 GHz RAM : 48