منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تحقق من سلسلة ارقام sql
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام عليكم
لو عندي حقل به ارقام و بعض الارقام ناقصة مثل هذا
١
٢
٤
٥
٧
٩
فهنا عندي ٣و٦و٨ ناقصة من التسلسل
كيف لي ان اجلب الارقام الناقصة عن طريق الكود في sql
نعمل لسنة نضع بها الارقام الناقصة بعض الارقام
ثم نعمل لستة اخري نضع بها الارقام الكاملة
ثم ناخذ كل عنصر في المجموعة الكاملة ونقارنه بالعناصر باللستة الاولي
في حالة عدم الوجود يظهر رسالة او يضاف في لستة ثالثة
(05-03-22, 12:29 PM)atefkhalf2004 كتب : [ -> ]نعمل لسنة نضع بها الارقام  الناقصة بعض الارقام
ثم نعمل لستة اخري نضع بها الارقام الكاملة
ثم ناخذ كل عنصر في المجموعة الكاملة ونقارنه بالعناصر باللستة الاولي
في حالة عدم الوجود يظهر رسالة او يضاف في لستة ثالثة

شكرا اخي 
لكن انا اريد كود يخرج لى الارقام الناقصة 
تخليل لو عندي ١٥٠٠٠ رقم به ارقام ناقصة في التسلسل
غير انك تتكلم بالفجوال بيسك وانا اريد sqlserver
استبدل 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

ممكن سؤال اخي محمود !
ما هدفك من معرفة الارقام الناقصة؟
(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 
الغاية عندي ارقام مستند واريد ان اعرف ما تم حذفه منها