ผู้เขียน หัวข้อ: ชี้แนะด้วยครับ เรื่อง คำสั่ง  (อ่าน 4285 ครั้ง)

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

ออฟไลน์ jam10

  • Full Member
  • ***
  • กระทู้: 179
  • Respect: +1
    • ดูรายละเอียด
ชี้แนะด้วยครับ เรื่อง คำสั่ง
« เมื่อ: เมษายน 17, 2012, 10:23:39 AM »
0
ผมต้องการเงื่อนไขแบบนี้ครับ
FBS   126-154   = Grade 1
        155-182   = Grade 2
        >= 183   = Grade 3

แล้วผมเขียนคำสั่งแบบนี้ แต่มันแปลผลออกมาเป็น ปกติ หมดครับ ต้องแก้ตรงไหนคับ รบกวนท่านอาจาร์ยทั้งหลายด้วยครับ เพื่อเป็นแนวทางในการเขียนครั้งต่อไปครับ  :D

Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['name3']+'"');
if Value < 125 then
  Value := '- ปกติ'
else if (Value >= 126) and (Value <= 154) then
  Value := '- 1'
else if (Value >= 155) and (Value <= 182) then
  Value := '- 2'
else if Value >= 183 then
  Value := '- 3';
Mr.Waramate.N
โรงพยาบาล จังหวัดลพบุรี
Server: HP  Ram 128GB.
CentOS 6.5 ,MySQL 5.5.42

ขอขอบคุณอาจาร์ยทุกท่านที่ให้คำแนะนำความรู้ต่างๆและให้ความช่วยเหลือครับ

ออฟไลน์ redfireball

  • Full Member
  • ***
  • กระทู้: 219
  • คุณแม่ขอร้อง..ร้อง....
  • Respect: +4
    • ดูรายละเอียด
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #1 เมื่อ: เมษายน 17, 2012, 10:44:42 AM »
0
ลองแบบนี้ได้ไมครับ  ;)
  Value :=  GetSQLStringData('select case when fbs between 126 and 154 then "- 1" when fbs between 155 and 182 then "- 2" when fbs >= 183 then "- 3" when (fbs is null or fbs = 0) then "N/A" else "- ปรกติ"  end as cc from opdscreen where hn="'+DBPipeline['name3']+'"');
โรงพยาบาลสังคม
SANGKHOM HOSPITAL
30 เตียง อ.สังคม จ.หนองคาย
http://www.sangkhomhospital.com
ขึ้นระบบ 5 ธ.ค. 51

ออฟไลน์ armds

  • Hero Member
  • *****
  • กระทู้: 1,084
  • armds
  • Respect: +10
    • ดูรายละเอียด
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #2 เมื่อ: เมษายน 17, 2012, 10:49:54 AM »
0
ผมต้องการเงื่อนไขแบบนี้ครับ
FBS   126-154   = Grade 1
        155-182   = Grade 2
        >= 183   = Grade 3

แล้วผมเขียนคำสั่งแบบนี้ แต่มันแปลผลออกมาเป็น ปกติ หมดครับ ต้องแก้ตรงไหนคับ รบกวนท่านอาจาร์ยทั้งหลายด้วยครับ เพื่อเป็นแนวทางในการเขียนครั้งต่อไปครับ  :D

Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['name3']+'"');
if Value < 125 then
  Value := '- ปกติ'
else if (Value >= 126) and (Value <= 154) then
  Value := '- 1'
else if (Value >= 155) and (Value <= 182) then
  Value := '- 2'
else if Value >= 183 then
  Value := '- 3';

ลองใช้  case of  เอาครับ ทำเป็นช่วง ๆ ก็ได้
ตัวอย่างครับ

Case Value of
    1..125     : Value :='ปกติ';
    126..154 : Value :='1';
    155..182 : Value :='2';
  else Value :='3';
  end;
โรงพยาบาลสมเด็จพระยุพราชด่านซ้าย จ.เลย
ขนาด 60 เตียง นวก. คอมพิวเตอร์ ขึ้นระบบ ปี 2548
ขอบคุณ อ.ชัยพร อ.สุชัย อ.เดชา อ.doreamon อ.naj อ.ขวด และอ.ในเว็บ hosxp.net ทุกท่าน

ออฟไลน์ jam10

  • Full Member
  • ***
  • กระทู้: 179
  • Respect: +1
    • ดูรายละเอียด
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #3 เมื่อ: เมษายน 17, 2012, 11:11:30 AM »
0
มันขึ้นเป็น ปกติ ทั้งหมดเลยครับ  ???
ผมต้องการเงื่อนไขแบบนี้ครับ
FBS   126-154   = Grade 1
        155-182   = Grade 2
        >= 183   = Grade 3

แล้วผมเขียนคำสั่งแบบนี้ แต่มันแปลผลออกมาเป็น ปกติ หมดครับ ต้องแก้ตรงไหนคับ รบกวนท่านอาจาร์ยทั้งหลายด้วยครับ เพื่อเป็นแนวทางในการเขียนครั้งต่อไปครับ  :D

Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['name3']+'"');
if Value < 125 then
  Value := '- ปกติ'
else if (Value >= 126) and (Value <= 154) then
  Value := '- 1'
else if (Value >= 155) and (Value <= 182) then
  Value := '- 2'
else if Value >= 183 then
  Value := '- 3';

ลองใช้  case of  เอาครับ ทำเป็นช่วง ๆ ก็ได้
ตัวอย่างครับ

Case Value of
    1..125     : Value :='ปกติ';
    126..154 : Value :='1';
    155..182 : Value :='2';
  else Value :='3';
  end;
Mr.Waramate.N
โรงพยาบาล จังหวัดลพบุรี
Server: HP  Ram 128GB.
CentOS 6.5 ,MySQL 5.5.42

ขอขอบคุณอาจาร์ยทุกท่านที่ให้คำแนะนำความรู้ต่างๆและให้ความช่วยเหลือครับ

ออฟไลน์ niyomstd

  • Hero Member
  • *****
  • กระทู้: 1,270
  • Respect: +15
    • ดูรายละเอียด
    • โรงพยาบาลแม่เมาะ
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #4 เมื่อ: เมษายน 17, 2012, 11:13:19 AM »
0
where hn="'+DBPipeline['name3']+'"
เชื่อมจากตารางไหนครับ
จะให้ง่าย ส่ง ตัวรายงานมาให้ทดสอบครับ :) :) :)
นิยม  สีทองแดง
โรงพยาบาลแม่เมาะ  ลำปาง(รพช.30 เตียง)
เริ่มใช้ HOSxP 2 เมษายน 2551
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Master :  CentOS

ออฟไลน์ jam10

  • Full Member
  • ***
  • กระทู้: 179
  • Respect: +1
    • ดูรายละเอียด
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #5 เมื่อ: เมษายน 17, 2012, 11:18:38 AM »
0
clinicmember ครับ เอาเฉพาะผู้ป่วยที่เป็นความดัน ครับ
where hn="'+DBPipeline['name3']+'"
เชื่อมจากตารางไหนครับ
จะให้ง่าย ส่ง ตัวรายงานมาให้ทดสอบครับ :) :) :)
Mr.Waramate.N
โรงพยาบาล จังหวัดลพบุรี
Server: HP  Ram 128GB.
CentOS 6.5 ,MySQL 5.5.42

ขอขอบคุณอาจาร์ยทุกท่านที่ให้คำแนะนำความรู้ต่างๆและให้ความช่วยเหลือครับ

ออฟไลน์ niyomstd

  • Hero Member
  • *****
  • กระทู้: 1,270
  • Respect: +15
    • ดูรายละเอียด
    • โรงพยาบาลแม่เมาะ
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #6 เมื่อ: เมษายน 17, 2012, 11:25:42 AM »
0
Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['hn']+'" and '+
' vstdate between "'+ds1+'" and "'+ds2+'"');
if Value < 125 then
  Value := ' »¡µÔ'
else if (Value >= 126) and (Value <= 154) then
  Value := 'G1'
else if (Value >= 155) and (Value <= 182) then
  Value := 'G2'
else if Value >= 183 then
  Value := 'G3';
นิยม  สีทองแดง
โรงพยาบาลแม่เมาะ  ลำปาง(รพช.30 เตียง)
เริ่มใช้ HOSxP 2 เมษายน 2551
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Master :  CentOS

ออฟไลน์ jam10

  • Full Member
  • ***
  • กระทู้: 179
  • Respect: +1
    • ดูรายละเอียด
Re: ชี้แนะด้วยครับ เรื่อง คำสั่ง
« ตอบกลับ #7 เมื่อ: เมษายน 17, 2012, 12:00:18 PM »
0
ได้แล้วครับ ขอบคุณ ท่านอาจาร์ย niyomstd มากๆครับ  :D

Value:=GetSQLDoubleData('select fbs from opdscreen where hn="'+DBPipeline['hn']+'" and '+
' vstdate between "'+ds1+'" and "'+ds2+'"');
if Value < 125 then
  Value := ' &raquo;&iexcl;&micro;&Ocirc;'
else if (Value >= 126) and (Value <= 154) then
  Value := 'G1'
else if (Value >= 155) and (Value <= 182) then
  Value := 'G2'
else if Value >= 183 then
  Value := 'G3';
Mr.Waramate.N
โรงพยาบาล จังหวัดลพบุรี
Server: HP  Ram 128GB.
CentOS 6.5 ,MySQL 5.5.42

ขอขอบคุณอาจาร์ยทุกท่านที่ให้คำแนะนำความรู้ต่างๆและให้ความช่วยเหลือครับ