با سلام
خیلی اوقات هست که ما نیاز به ایجاد سیستم پدر فرزندی داریم یعنی یک سری ایتم اصلی یا پدر داریم که هر کدوم یک سری ایتم فرعی یا فرزند دارن برای نمایش این سیستم روشهای مختلفی هست مثلا بعضی برنامه نویسها با استفاده از چند سلکت این کار رو انجام میدن و بعضی ها هم با یک سلکت و یک تابع بازگشتی این کار رو انجام میدن اما یکی از این روشهای بهینه استفاده از تابع COALESCE در خود mysql هست
مثلا ما جدولی با ستونهای زیر داریم
id,parent,name
کوئری ما به صورت زیر خواهد بود
select id,name from table order by COALESCE(parent,id),id
توجه:مقدار parent رکوردهای اصلی یا پدر را null در نظر میگیریم در غیر این صورت از تابع nullif برای تغییر مقدار parent به null استفاده میکنیم
مثال:اگر مقدار parent برای ایتم اصلی یا پدر ۰ در نظر بگیریم
select id,name from table order by COALESCE(nullif(parent,0),id),id
دیدگاهتان را بنویسید لغو پاسخ