PDA

View Full Version : سوال: جستجوی اطلاعات (select)



dr.pantagon
پنج شنبه 01 بهمن 1388, 20:07 عصر
سلام
یک سوال داشتم اون این هست که چه جوری مقداری رو سرچ کنم که وجود نداره
مثلا
من تو دیتابیس 2 تا ستون دارم یکی serialfrom و serialto که مثلا مقادیر زیر وارد شده
serialto=sn-3000-7250 , serial from=sn-3000-7230
serialto=sn-3000-7290 , serial from=sn-3000-7280
serialto=sn-3000-72800 , serial from=sn-3000-7400

حالا می خوام جستجویی درست کنم که اگر کسی sn-3000-7233 رو جستجو کرد رکورد اول رو لود کنه چون 7233 بین 7230 و 7250 هست

امید وارم منظورم رو واضح بیان کرده باشم.

hamidcha
پنج شنبه 01 بهمن 1388, 20:44 عصر
سلام
دوست عزیز با توجه به نوع مقدار قرار داده شده در دو فیلد شما
نوع فیلد های شما از نوع کاراکتر می باشد و این کار را سخت می کند نه غیر ممکن که این کار درست نمی باشد ولی بهترین راه این است که مقدار فیلد ها شما از نوع عدد تعریف نمایید تا بتوانید به راحتی عمل مقایسه را انجام دهید

dr.pantagon
پنج شنبه 01 بهمن 1388, 21:15 عصر
این ها شماره سریال هستن نمی شه برای این کار باید روند 3 ساله کار رو عوض کنم
3 سال است که این شماره ها دارن استفاده می شن و ثبت شده نمی تونم سالهای گذشته رو دروست کنم

hamidcha
جمعه 02 بهمن 1388, 00:13 صبح
سلام

چند راه است که کار مشکل میکنه و در تعداد کورد بالا کار منطقی اصلا نیست ولی بهتر کار اساسی بکنه و فکری برای فیلد ها انجام بدی و بهترین کار اینکه داده ها را از یک به چند فیلد تغییر بدی تا قابلیت جستجو داشته باشه

dr.pantagon
جمعه 02 بهمن 1388, 00:37 صبح
عاقلانه نیست ، من توی بعضی از نرم افزار ها دیدم که همچین سرچی هست ولی چه جوری رو نمی دونم . از اساتید کسی چیزی نداره برای راهنمایی ؟

dr.pantagon
جمعه 02 بهمن 1388, 01:07 صبح
من به یه راه حل رسیدم به جوابی که می خواستم رسیدیم گفتم بزارم بقیه هم استفاده کنن

select * from factorb where serialfrom <='sn-3000-7238' and serialto >='sn-3000-7238'

که نتیجه دستور بالا نمایش این روکورد می شود چون مابین این دو تا می شه

serialto=sn-3000-7250 , serial from=sn-3000-7230

مرسی