منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تحقق من سلسلة ارقام sql - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : تحقق من سلسلة ارقام sql (/showthread.php?tid=40877)



تحقق من سلسلة ارقام sql - محمود صالح - 05-03-22

سلام عليكم
لو عندي حقل به ارقام و بعض الارقام ناقصة مثل هذا
١
٢
٤
٥
٧
٩
فهنا عندي ٣و٦و٨ ناقصة من التسلسل
كيف لي ان اجلب الارقام الناقصة عن طريق الكود في sql


RE: تحقق من سلسلة ارقام sql - atefkhalf2004 - 05-03-22

نعمل لسنة نضع بها الارقام الناقصة بعض الارقام
ثم نعمل لستة اخري نضع بها الارقام الكاملة
ثم ناخذ كل عنصر في المجموعة الكاملة ونقارنه بالعناصر باللستة الاولي
في حالة عدم الوجود يظهر رسالة او يضاف في لستة ثالثة


RE: تحقق من سلسلة ارقام sql - محمود صالح - 05-03-22

(05-03-22, 12:29 PM)atefkhalf2004 كتب : نعمل لسنة نضع بها الارقام  الناقصة بعض الارقام
ثم نعمل لستة اخري نضع بها الارقام الكاملة
ثم ناخذ كل عنصر في المجموعة الكاملة ونقارنه بالعناصر باللستة الاولي
في حالة عدم الوجود يظهر رسالة او يضاف في لستة ثالثة

شكرا اخي 
لكن انا اريد كود يخرج لى الارقام الناقصة 
تخليل لو عندي ١٥٠٠٠ رقم به ارقام ناقصة في التسلسل
غير انك تتكلم بالفجوال بيسك وانا اريد sqlserver


RE: تحقق من سلسلة ارقام sql - warso - 05-03-22

استبدل YYYYY باسم الجدول
واستبدل XXXX باسم العمود
كود :
DECLARE @max INT = (SELECT MAX([XXXXXXX]) FROM [YYYYYYY])
SELECT SeqNum AS MissingSeqNum
FROM (SELECT ROW_NUMBER() OVER (ORDER BY column_id) SeqNum FROM sys.columns) Lkup
LEFT JOIN [YYYYYYY] t ON t.[XXXXXXX] = Lkup.SeqNum
WHERE t.[XXXXXXX] IS NULL AND SeqNum < @max

ممكن سؤال اخي محمود !
ما هدفك من معرفة الارقام الناقصة؟


RE: تحقق من سلسلة ارقام sql - محمود صالح - 05-03-22

(05-03-22, 03:22 PM)warso كتب : استبدل YYYYY باسم الجدول
واستبدل XXXX باسم العمود
كود :
DECLARE @max INT = (SELECT MAX([XXXXXXX]) FROM [YYYYYYY])
SELECT SeqNum AS MissingSeqNum
FROM (SELECT ROW_NUMBER() OVER (ORDER BY column_id) SeqNum FROM sys.columns) Lkup
LEFT JOIN [YYYYYYY] t ON t.[XXXXXXX] = Lkup.SeqNum
WHERE t.[XXXXXXX] IS NULL AND SeqNum < @max

ممكن سؤال اخي محمود !
ما هدفك من معرفة الارقام الناقصة؟

بارك الله فيك اخيwarso 
الغاية عندي ارقام مستند واريد ان اعرف ما تم حذفه منها