ลองแบบนี้ครับ
select v.vstdate,p.birthday,timestampdiff(year,p.birthday,v.vstdate) as count_year,
timestampdiff(month,p.birthday,v.vstdate) as count_month,timestampdiff(day,p.birthday,v.vstdate) as count_day
from vn_stat v
left outer join patient p on p.hn=v.hn
where v.hn=xxxxxxx
order by vstdate desc