PDA

View Full Version : واکشی اعداد وارد نشده در دیتابیس



mjt10063
پنج شنبه 01 آبان 1393, 16:48 عصر
با سلام دوستان خسته نباشید
فرض کنید اعداد 1200 تا 1300 کاربر باید این اعداد رو وارد دیتابیس کنه و برابر هر عدد هم یه سطر از دیتابیس اضافه میشه تا اینجا درست
کار میاد عدد 1201 و 1202 و 1203 رو وارد میکنه ولی 1204 رو وارد نمیکنه و بعد 1205 رو وارد میکنه
تا الی آخر
چطور میشه توی دیتابیس جستجوی این چنین داشته باشیم که اعدادی که کاربر وارد نکرده مثلا در رنج 1150 تا 1250 چه اعدادی هستن ؟

mjt10063
شنبه 03 آبان 1393, 09:14 صبح
یعنی حتی یه نفر هم به یه همچین مسئله ای برنخورده بود

barzin144
شنبه 03 آبان 1393, 09:57 صبح
دوست عزیر راهی که من به ذهنم میرسه اینه که روی کل رکورد ها حلقه بزنی و چک کنی ولی سرعتش پایین میاد با رکورد های زیاد










declare @Count int=(select count(*) from test)
declare @lost nvarchar(max)=''


while(@Count>0)
begin




if not exists (select number from test where number=@Count)
begin
set @lost=CONCAT(@lost,@Count,'-')
end


set @Count=@Count-1
end


select @lost

mjt10063
شنبه 03 آبان 1393, 17:00 عصر
دمت گرم داشی

En_MK
یک شنبه 04 آبان 1393, 21:27 عصر
دو تا لیست تعریف کنید یک لیست شامل اعدادی که از min عدد وارد شده در دیتابیس تا max عدد وارد شده در دیتابیس را شامل میشه(مثلا لیسته اینجوری میشه 1200-1201-1202-1203 و... -1220)
لیست دوم شامل اعدادی که در دیتابیس وارد شدند
حالا این دو لیست را با lambda expressions مقایسه کنید
مثال (http://stackoverflow.com/questions/1431614/compare-to-list-inside-lambda-expressions)