• 0

كيف أحذف بيانات متساوية على قاعدة بيانات Sql Server؟

لدي جدولين كالآتي:

  • الجدول A:
Id | Name  | Salary  
1  | TEST1 | 100  
2  | TEST2 | 200  
3  | TEST3 | 300
  • الجدولB:
Id | Name  | Salary  
1  | TEST1 | 100  
2  | TEST2 | 200  
4  | TEST4 | 400

أريد حذف البيانات المتشابهة من كلا الجدولين:

SELECT * 
FROM A 

SELECT * 
FROM B

لأحصل على النتائج:

  • الجدولA:
Id | Name  | Salary   
3  | TEST3 | 300
  • الجدولB:
Id | Name  | Salary   
4  | TEST4 | 400

كيف ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1
DELETE A
FROM A  
INNER JOIN B 
      ON B.ID = A.ID
      AND B.Name = B.Name
      AND B.Salary= A.Salary

     B و تفعل نفس الشيء مع الجدول 
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

لتفادي عدم ظهور القيم المتساوية بين جدولين على قاعدة البيانات، ولا سيما إذا كنت لا تريد حذفها بالمعنى الحقيقي لذلك، أي إذا أردتعدم إظهارها فقط في مكان معين من الموقع أو التطبيق، يمكنك استعمال Except، والتي تؤدي إلى إظهار جميع البيانات باستثناء البيانات التي يتم تحديدها حسب معيار أو معايير محددة، مثال :

SELECT * INTO newA FROM a
EXCEPT
SELECT * FROM b
;

SELECT * INTO newB FROM b
EXCEPT
SELECT * FROM a
;

في المثال -المثال الأول-السابق تم إظهار جميع قيم الجدول a باستثناء قيم a الموجودة في الجدول b.

رسمة تشرح عمل except:

image008.thumb.jpg.7b86f73151f8fbaebaf44

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن