select p1.hn,p2.hn,p1.cid,concat(p1.pname,p1.fname," ",p1.lname) as p1name,concat(p2.pname,p2.fname," ",p2.lname) as p2name from patient p1
left outer join patient p2 on p1.cid = p2.cid
where p1.hn<> p2.hn
group by p1.hn
ลองเอาไปใช้ดูครับ เขียนขึ้นมาง่าย ๆ ครับ
ข้อควรระวัง ก่อนรัน ถ้ามีข้อมูล ใน patient เยอะ ๆ ระวัง server ค้างนะครับ