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

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

ออฟไลน์ sayun

  • Hero Member
  • *****
  • กระทู้: 571
  • Respect: 0
    • ดูรายละเอียด
ช่วยด้วยเรื่องรายงานครับ
« เมื่อ: มกราคม 13, 2011, 11:26:34 AM »
0
อ.ทุกท่านช่วยที่ ถ้าจะดึงผู้มารับบริการที่อยู่คนละตำบลและหมู่บ้าน มารวมกัน 
ในรายงาน  ผมต้องการ ผู้ที่อยู่ใน  and v.aid ='410702' and p.moopart in ('4','5')  มาและต้องการผู้ที่อยู่ใน and v.aid ='410704' and p.moopart in ('4') ด้วย จะต้องเขียนอย่างไรครับ
------------------------------------------------------------------------------------------------------------------------ 
select o.vstdate,cast(date_format(o.vsttime,'%T') as char(8)) as vsttime
,o.hn,concat(p.pname,p.fname,' ',p.lname) as ptname ,v.income
,cast(if(v.age_y>0,concat(v.age_y)
,if(v.age_m>0,concat(v.age_m,' ?????'),concat(v.age_d,' ???'))) as char(20)) as age
,ifnull(p.cid,v.cid) as cid,v.aid
,p.addrpart,p.moopart
,p.tmbpart,t1.name as tambon
,p.amppart,t2.name as ampur
,p.chwpart,t3.name as changwat
,v.pdx,i1.name as pdx_name
,concat(o.spclty,':',c.name) as spclty
,v.pttype,p1.name as pttypename
,v.pttypeno,v.hospmain,v.hospsub
,if(o.an=' ' or o.an is null,'N','Y') as 'Admit'
,o.an
from ovst o
left join vn_stat v on o.vn=v.vn
left join icd101 i1 on v.pdx=i1.code
left join spclty c on o.spclty=c.spclty
left join pttype p1 on p1.pttype=v.pttype
left join patient p on o.hn=p.hn
left join thaiaddress t on t.addressid=v.aid
left join thaiaddress t1 on t1.addressid=concat(p.chwpart,p.amppart,p.tmbpart)
left join thaiaddress t2 on t2.addressid=concat(p.chwpart,p.amppart,'00')
left join thaiaddress t3 on t3.addressid=concat(p.chwpart,'00','00')
where o.vstdate between '2009-10-01' and '2009-10-31'
and v.aid ='410702' and p.moopart in ('4','5')
order by v.pdx
สายัญ ธุนันทา จพ.เภสัชกรรมชำนาญงาน
Maste :
HOSxP + HOSxP_PCU

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: ช่วยด้วยเรื่องรายงานครับ
« ตอบกลับ #1 เมื่อ: มกราคม 13, 2011, 11:47:35 AM »
0
อ.ทุกท่านช่วยที่ ถ้าจะดึงผู้มารับบริการที่อยู่คนละตำบลและหมู่บ้าน มารวมกัน 
ในรายงาน  ผมต้องการ ผู้ที่อยู่ใน  and v.aid ='410702' and p.moopart in ('4','5')  มาและต้องการผู้ที่อยู่ใน and v.aid ='410704' and p.moopart in ('4') ด้วย จะต้องเขียนอย่างไรครับ
------------------------------------------------------------------------------------------------------------------------ 
select o.vstdate,cast(date_format(o.vsttime,'%T') as char(8)) as vsttime
,o.hn,concat(p.pname,p.fname,' ',p.lname) as ptname ,v.income
,cast(if(v.age_y>0,concat(v.age_y)
,if(v.age_m>0,concat(v.age_m,' ?????'),concat(v.age_d,' ???'))) as char(20)) as age
,ifnull(p.cid,v.cid) as cid,v.aid
,p.addrpart,p.moopart
,p.tmbpart,t1.name as tambon
,p.amppart,t2.name as ampur
,p.chwpart,t3.name as changwat
,v.pdx,i1.name as pdx_name
,concat(o.spclty,':',c.name) as spclty
,v.pttype,p1.name as pttypename
,v.pttypeno,v.hospmain,v.hospsub
,if(o.an=' ' or o.an is null,'N','Y') as 'Admit'
,o.an
from ovst o
left join vn_stat v on o.vn=v.vn
left join icd101 i1 on v.pdx=i1.code
left join spclty c on o.spclty=c.spclty
left join pttype p1 on p1.pttype=v.pttype
left join patient p on o.hn=p.hn
left join thaiaddress t on t.addressid=v.aid
left join thaiaddress t1 on t1.addressid=concat(p.chwpart,p.amppart,p.tmbpart)
left join thaiaddress t2 on t2.addressid=concat(p.chwpart,p.amppart,'00')
left join thaiaddress t3 on t3.addressid=concat(p.chwpart,'00','00')
where o.vstdate between '2009-10-01' and '2009-10-31'
and v.aid ='410702' and p.moopart in ('4','5')
order by v.pdx


 ;D ;D ;D เปลี่ยนตรงสีแดงเป็น

 
โค๊ด: SQL
  1.      AND concat(v.aid,p.moopart)  IN  ("4107024","4107025","4107044")