BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: butsanta ที่ มิถุนายน 30, 2010, 10:29:21 AM
-
คือผมต้องการดึงรายงานผลการตรวจ lab แต่ติดปัญหาตรงที่ผล lab มันเป็นข้อมูลชนิดตัวอักษร ไม่ใช่ตัวเลข เช่น ผมต้องการดึงผล A1C ที่น้อยกว่า 7 แต่ผลที่ได้มันออกมามากเกินไป เช่น 11,20,30 หรือเลขหลักแรกที่น้องกว่า 7จะออกมาทั้งหมด ครับ
select c.hn,o.vstdate,li.lab_items_name,lo.lab_order_result
from clinicmember c
left outer join ovst o on o.hn=c.hn
left outer join lab_head lh on lh.vn=o.vn
left outer join lab_order lo on lo.lab_order_number=lh.lab_order_number
left outer join lab_items li on li.lab_items_code=lo.lab_items_code
where c.clinic ="001" and c.new_case="Y" and li.lab_items_name="A1C" and o.vstdate between '2009-10-01' and '2010-06-30' and lo.lab_order_result < "7"
รบกวนขอคำแนะนำด้วยครับ
-
ใส่ "7" มันก็คิดว่าเป็นตัวอักขระครับ ไม่ใช่ตัวเลขที่จะนำไปคำนวณได้
ดังนั้น
11 จึงถูกตีความเป็น ตัวเลขหนึ่ง กับ ตัวเลขหนึ่ง
12 จึงถูกตีความเป็น ตัวเลขหนึ่ง กับ ตัวเลขสอง
7 จึงถูกตีความเป็น ตัวเลขเจ็ด
ผลลัพธ์จึงออกมาอย่างนั้นแล...
ลองเอา " " ออกสิครับ
-
ใส่ "7" มันก็คิดว่าเป็นตัวอักขระครับ ไม่ใช่ตัวเลขที่จะนำไปคำนวณได้
ดังนั้น
11 จึงถูกตีความเป็น ตัวเลขหนึ่ง กับ ตัวเลขหนึ่ง
12 จึงถูกตีความเป็น ตัวเลขหนึ่ง กับ ตัวเลขสอง
7 จึงถูกตีความเป็น ตัวเลขเจ็ด
ผลลัพธ์จึงออกมาอย่างนั้นแล...
ลองเอา " " ออกสิครับ
ตาม อ. udomchok ครับ " " เอาไว้สำหรับแสดงว่าค่าที่เราตั้งเงื่อนไขเป็นอักขระ (text) หากต้องการตั้งเงื่อนไขที่เป็นตัวเลขก็แค่เอา " " ออก ปล่อยตัวเลขไว้เฉยๆครับ
-
ทำได้แล้วครับ ขอบคุณทั้งสองท่านมากๆ ครับ
-
เข้าเก็บความรู้