BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: new ที่ กรกฎาคม 02, 2013, 09:23:31 AM
-
ท่านอาจารย์ ท่านใดมีรายงาน ห้อง Lab แยกตามสิทธิบ้างครับ รบกวนนิดหนึ่งครับ...ขอบคุณครับ
-
set @ds1:='2012-10-1';
set @ds2:='2012-10-1';
select lo.lab_items_code code,lo.lab_items_name_ref name
,count(*) 'Total'
,ifnull(sum(p.pttype_spp_id in (1)),0) 'A2'
,ifnull(sum(p.pttype_spp_id in (2)),0) 'A7'
,ifnull(sum(p.pttype_spp_id in (3,4)),0) 'UC'
,ifnull(sum(p.pttype_spp_id in (5)),0) 'AL'
,ifnull(sum(p.pttype_spp_id not in (1,2,3,4,5) or p.pttype_spp_id is null),0) 'Other'
from lab_head lh
left join lab_order lo on lo.lab_order_number=lh.lab_order_number
left join ovst o on o.vn=lh.vn
left join pttype p on p.pttype=o.pttype
where lh.order_date between @ds1 and @ds2
group by lo.lab_items_code
order by name
ระวัง..ไม่ควรทำช่วงเวลากว้างๆ ทำเป็นรายวันจะดีกว่า
กรุณาตรวจสอบฟิล์ด pttype_spp_id ที่ตาราง pttype ด้วย
ว่าถูกต้องตามตาราง pttype_spp มั๊ย
-
ขอบคุณครับ ขอลองหน่อย ขอบพระคุณครับๆๆๆๆๆๆ
-
เรียน สอบถามอีกครั้งครับ ในตาราง pttype_spp_id ของผมเป็นศูนย์ ทุกช่อง แต่พอเรียก พอเรียกออกมา ช่อง A2 A7 UC AL มันไม่ออกเลยเป็น0ทุกช่อง ตามรูปที่แนบครับ แก้ไขยังไงครับ
-
แก้ให้ตรงกับเงื่อนไขของตาราง pttype_spp ครับ
*****
set @ds1:='2012-10-1';
set @ds2:='2012-10-1';
select lo.lab_items_code code,lo.lab_items_name_ref name
,count(*) 'Total'
,ifnull(sum(p.pcode in ('A2')),0) 'A2'
,ifnull(sum(p.pcode in ('A7')),0) 'A7'
,ifnull(sum(p.pcode in ('AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','UC')),0) 'UC'
,ifnull(sum(p.pcode in ('AL')),0) as 'AL'
,ifnull(sum(p.pcode not in ('A2','A7','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','UC') or p.pcode is null),0) 'Other'
from lab_head lh
left join lab_order lo on lo.lab_order_number=lh.lab_order_number
left join ovst o on o.vn=lh.vn
left join pttype p on p.pttype=o.pttype
where lh.order_date between @ds1 and @ds2
group by lo.lab_items_code
order by name
-
อ๋อๆ ขอบคุณอกีครั้งครับ
-
เรียน สอบถามอีกครั้งครับ ในตาราง pttype_spp_id ของผมเป็นศูนย์ ทุกช่อง แต่พอเรียก พอเรียกออกมา ช่อง A2 A7 UC AL มันไม่ออกเลยเป็น0ทุกช่อง ตามรูปที่แนบครับ แก้ไขยังไงครับ
;D ;D ;D
ตาราง pttype จะให้มันมี pttype_spp_id ก็ต้องมีข้อมูลตรงนี้ในทุกสิทธิ์การรักษาครับ
;D ;D ;D
-
ขอบคุณครับพี่ๆทั้งหลาย อาจเป็นประโยชน์แก่คนที่ไม่รู้อีกหลายๆคน
-
กำลังต้องการเลยครับ ใครทำเสร็จแล้วบ้างครับ
-
แก้ให้ตรงกับเงื่อนไขของตาราง pttype_spp ครับ
*****
set @ds1:='2012-10-1';
set @ds2:='2012-10-1';
select lo.lab_items_code code,lo.lab_items_name_ref name
,count(*) 'Total'
,ifnull(sum(p.pcode in ('A2')),0) 'A2'
,ifnull(sum(p.pcode in ('A7')),0) 'A7'
,ifnull(sum(p.pcode in ('AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','UC')),0) 'UC'
,ifnull(sum(p.pcode in ('AL')),0) as 'AL'
,ifnull(sum(p.pcode not in ('A2','A7','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','UC') or p.pcode is null),0) 'Other'
from lab_head lh
left join lab_order lo on lo.lab_order_number=lh.lab_order_number
left join ovst o on o.vn=lh.vn
left join pttype p on p.pttype=o.pttype
where lh.order_date between @ds1 and @ds2
group by lo.lab_items_code
order by name
แยกเป็นช่วงเวลาได้ไหมครับ ช่วงที่ 1 เวลา 06.00.00-16.30.00 ช่วงที่ 2 เวลา 16.30.01-20.30.00 ช่วงที่ 3 เวลา 20.30.01-23.59.59 ช่วงที่ 4 เวลา 00.00.00-05.59.59
-
ขอบพระคุณอย่างสูงครับ เพื่อคนอื่นที่ต้องการ อยากได้อีกครับ ขอบคุณครับ..