BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: nahos ที่ กรกฎาคม 04, 2008, 14:25:25 PM

หัวข้อ: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: nahos ที่ กรกฎาคม 04, 2008, 14:25:25 PM

  Value := GetSQLStringData('select name from er_emergency_type emer '+
'left join er_regist er on emer.er_emergency_type=er.er_emergency_type'+
'left join vn_stat vns on er.vn=vns.vn '+
'where er.vn="'+DBPipeline['vn']+'" ');

ลองเขียน variable แบบข้างบน ไม่มาครับ
ขอคำชี้แนะครับ  ให้ 50 point ครับสำหรับคำตอบนี้
หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: pop_hosxp ที่ กรกฎาคม 04, 2008, 14:35:50 PM
ลองแบบนี้เลยได้ไหมครับ ทดลองก่อนนะครับ ยังไม่ได้ทดสอบก่อนครับ (ตอนนี้อยู่นอกรพ.) เขียนติดกันไปเลยโดยไม่ต้องขึ้นบรรทัดใหม่

  Value := GetSQLStringData('select name from er_emergency_type emer left join er_regist er on emer.er_emergency_type=er.er_emergency_type left join vn_stat vns on er.vn=vns.vn where er.vn="'+DBPipeline['vn']+'" ');



หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: nahos ที่ กรกฎาคม 04, 2008, 15:00:36 PM
OK ครับ ได้แล้ว ขอบคุณครับ

ว่าแต่แบบขึ้นบรรทัดใหม่ทำไมใช้ไม่ได้ครับ ???


หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: SrWooD ที่ กรกฎาคม 04, 2008, 15:12:50 PM
  Value := GetSQLStringData('select name from er_emergency_type emer '+
' left join er_regist er on emer.er_emergency_type=er.er_emergency_type '+
' left join vn_stat vns on er.vn=vns.vn '+
' where er.vn="'+DBPipeline['vn']+'" ');

เว้นช่องว่างสักนิดนึงครับ มันมองว่าติดกันมันเลยแปลเป็นคำสั่งไม่ออกครับ

ลองทดสอบดูครับ

ว่าแต่เรียบเรียง sql ได้เแปลกดีครับ แต่ถ้าได้ค่าที่ต้องการก็ไม่เป็นไรครับ

 ;D ;D ;D
หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: nahos ที่ กรกฎาคม 04, 2008, 15:21:53 PM
ขอบคุณครับ นิดเดียวก็ไม่ได้นะเนี่ย จำไว้ เคาะ 1 วรรค ๆ

แต่ ที่ว่าแปลก ๆ อย่างไรครับ  แนะนำหน่อยครับ
ครั้งต่อไปจะได้ทำแบบไม่แปลก  ;)
หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: SrWooD ที่ กรกฎาคม 04, 2008, 15:28:53 PM
ตามความเห็นผม คือ

vn_stat ไม่ต้องนำมา join ก็ได้ครับ ใช้ vn จาก er_regist ก็ได้ครับ

เพราะเป็น vn เดียวกันอยู่แล้วถ้าีมีข้อมูล

ลองดูนะครับ

 :) :) :)
หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: nahos ที่ กรกฎาคม 04, 2008, 15:34:37 PM
เออ ผมลืมไปเลย คิดแต่ว่า FORM-Doctor-OPDCARD
ไม่ได้ join er_regist ก็เลยคิดว่าต้อง ้ join er_regist  กับ vn_stat ก่อน
 ;D ;D

หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: pop_hosxp ที่ กรกฎาคม 04, 2008, 16:08:08 PM
OK ครับ ได้แล้ว ขอบคุณครับ

ว่าแต่แบบขึ้นบรรทัดใหม่ทำไมใช้ไม่ได้ครับ ???


ไม่รู้ครับ เดาเอาครับ การต้องเว้นวรรคผมก็ไม่ทราบมาก่อน ขอบคุณครับ จะได้จำไว้ครับ
วรรค 1 เคาะ วรรค 1 เคาะ วรรค 1 เคาะ ......
หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: udomchok ที่ กรกฎาคม 05, 2008, 02:40:38 AM
OK ครับ ได้แล้ว ขอบคุณครับ

ว่าแต่แบบขึ้นบรรทัดใหม่ทำไมใช้ไม่ได้ครับ ???


ไม่รู้ครับ เดาเอาครับ การต้องเว้นวรรคผมก็ไม่ทราบมาก่อน ขอบคุณครับ จะได้จำไว้ครับ
วรรค 1 เคาะ วรรค 1 เคาะ วรรค 1 เคาะ ......

หากไม่เว้นวรรค เวลาแปลง sql ที่จะ run จะได้เป็น
select name from er_emergency_type emerleft join er_regist er on emer.er_emergency_type=er.er_emergency_typeleft join vn_stat vns on er.vn=vns.vnwhere er.vn="'+DBPipeline['vn']+'" ';

ติดกันอย่างนี้ ทำให้ emer และ left (จาก left join) ติดกันกลายเป็น emerleft คำเดียวกันเลย
คำอื่น ๆ ก็เช่นเดียวกัน
หัวข้อ: Re: ต้องการดึงความเร่งด่วนมาแสดงใน opd card ครับ
เริ่มหัวข้อโดย: pop_hosxp ที่ กรกฎาคม 05, 2008, 08:11:14 AM
OK ครับ ได้แล้ว ขอบคุณครับ

ว่าแต่แบบขึ้นบรรทัดใหม่ทำไมใช้ไม่ได้ครับ ???


ไม่รู้ครับ เดาเอาครับ การต้องเว้นวรรคผมก็ไม่ทราบมาก่อน ขอบคุณครับ จะได้จำไว้ครับ
วรรค 1 เคาะ วรรค 1 เคาะ วรรค 1 เคาะ ......

ขอบคุณครับ

หากไม่เว้นวรรค เวลาแปลง sql ที่จะ run จะได้เป็น
select name from er_emergency_type emerleft join er_regist er on emer.er_emergency_type=er.er_emergency_typeleft join vn_stat vns on er.vn=vns.vnwhere er.vn="'+DBPipeline['vn']+'" ';

ติดกันอย่างนี้ ทำให้ emer และ left (จาก left join) ติดกันกลายเป็น emerleft คำเดียวกันเลย
คำอื่น ๆ ก็เช่นเดียวกัน