[MySQL Tip] หา hn ที่ข้าม ว่ามี hn ไหนบ้าง (เลข id ที่ไม่ได้ใช้งาน)
ได้โจทย์มาหาหรือ ตรวจสอบ HN ที่ว่างไปในช่วงที่กำหนดไหมครับ ?
ตอบ. น่าจะได้คือหาเลข id ที่ในช่วงข้อมูลนี้ แล้วเลขไหนที่ไม่มีการในตารางนี้
ผลที่ได้ก็ประมาณนี้ครับ
********************************
set @a := 0;
set @check_hn :=”;
select tmp.* from (
select @a := @a+1 as id,
@check_hn := LPAD(@a, 8, 0) as hn_for_check,
(select hn from patient where hn=@check_hn)as check_hn,
(select if(count(*)>0,’Y’,’N’)as cc from patient where hn=@check_hn)as status_hn
from holiday limit 100
) tmp
/* where tmp.status_hn=’N’ */
********************************
หรือจะดูทั้งหมดในช่วง 100 recort
***********************************
set @a := 0;
set @check_hn :=”;
select tmp.* from (
select @a := @a+1 as id,
@check_hn := LPAD(@a, 8, 0) as hn_for_check,
(select hn from patient where hn=@check_hn)as check_hn,
(select if(count(*)>0,’Y’,’N’)as cc from patient where hn=@check_hn)as status_hn
from holiday limit 100
) tmp
where tmp.status_hn=’N’
***************************************
สั้นๆประมาณนี้นะครับ
เขียนเยอะไม่ค่อยมีคนอ่าน
ขอบคุณที่ส่งคำถามเข้ามานะครับ
แล้วพบกันใหม่ครับ