mhamedm2008
چهارشنبه 20 بهمن 1395, 12:19 عصر
با سلام
من از به عنوان مثال از دستور زیر برای جستجو استفاده می کنیم.
select nam from master where kod=1
حال می خواهم کاری کنم که توی فیلد آدرس هم جستجو کنم. به صورتی که زمانی که پارامتر ورودی null باشه جستجو توی تمام رکورد ها انجام بشه
select nam from master where kod=1 and (address = isnull(@search,address))
در حالت کلی با این مدل دستور ها هیچ مشکلی ندارم. مشکل از اون جایی شروع میشه که اگر فیلد های address من توی table هم null باشه، اون رکورد ها رو برای جستجو در زمانی که متغییر @search من هم null باشه نمایش نمی ده.
به عبارت دیگر، اگر دستور رو به صورت زیر بنویسم
select nam from master where kod=1 and (family = isnull(@search_family,family))
هیچ مشکلی ندارم. چرا که تمامی فیلد های family من دارای متغییر هست. واگر @search_family من هم null باشه، باز هم تمامی رکورد های من و نشون میده
ولی توی فیلد آدرس، به دلیلی اینکه همه رکورد ها شامل مقادیر addressنمی باشند. زمانی که @search برابر null باشه، تمامی رکورد ها نمایش داده نمیشه.
چه راهی برای حل این مشکل پیشنهاد می کنید.
خیلی خیلی ممنون
من از به عنوان مثال از دستور زیر برای جستجو استفاده می کنیم.
select nam from master where kod=1
حال می خواهم کاری کنم که توی فیلد آدرس هم جستجو کنم. به صورتی که زمانی که پارامتر ورودی null باشه جستجو توی تمام رکورد ها انجام بشه
select nam from master where kod=1 and (address = isnull(@search,address))
در حالت کلی با این مدل دستور ها هیچ مشکلی ندارم. مشکل از اون جایی شروع میشه که اگر فیلد های address من توی table هم null باشه، اون رکورد ها رو برای جستجو در زمانی که متغییر @search من هم null باشه نمایش نمی ده.
به عبارت دیگر، اگر دستور رو به صورت زیر بنویسم
select nam from master where kod=1 and (family = isnull(@search_family,family))
هیچ مشکلی ندارم. چرا که تمامی فیلد های family من دارای متغییر هست. واگر @search_family من هم null باشه، باز هم تمامی رکورد های من و نشون میده
ولی توی فیلد آدرس، به دلیلی اینکه همه رکورد ها شامل مقادیر addressنمی باشند. زمانی که @search برابر null باشه، تمامی رکورد ها نمایش داده نمیشه.
چه راهی برای حل این مشکل پیشنهاد می کنید.
خیلی خیلی ممنون