اذهب الي المحتوي
أوفيسنا

كيف حذف بيانات في جدول بناءً على قيمة في جدول اخر


f16
إذهب إلى أفضل إجابة Solved by husamwahab,

الردود الموصى بها

اسعد الله مسائكم جميعاً الاخوة الكرام 

كيف يمكن حذف قيمة في جدول لنفترض اسم الجدول TB1 بناء على قيمة مطابقة في جدول اخر TB2 

مثلاً :- عندي جدول 1  به حقلين الرقم و النوع والجدول رقم 2 به نفس البيانات الرقم والنوع 

اريد عمل استعلام حذف يقوم بحذف البيانات من الجدول رقم 1 عندما يكون هناك بيانات مطابقة للبيانات في الجدول رقم 2 

مرفق مثال على هذا 

ولكم جزيل الشكر والتقدير 

 

مثال اوفيسنا استعلام حذف بيانات من جدول بناء على جدول اخر.accdb

رابط هذا التعليق
شارك

وعليكم السلام 🙂

 

اول خطوة هي عمل حقل ترقيم تلقائي Auto_ID في كلا الجدولين ،

 

هذه الجداول والبيانات الموجودة ، والبيانات المتشابهة بين الجدولين :

image.png.2d6c86097147f6c63544f5cbb6300e2c.png

.

نعمل استعلام يأتي هذه النتائج :

image.png.9e40aa95be8a8ec099233b6cbb1d0b85.png

image.png.5bae221c254733bbad22a1597bdb6483.png

.

ثم نعمل استعلام حذف ، بحيث معيار Auto_ID الجدول TB1 نأخذه من نتائج الاستعلام qry_Similars :

image.png.7b6769ca3ce4fc2ae989045b81f65c10.png

.

وبعد تشغيل الاستعلام ، هذه نتائج الجداول :

image.png.b8360679c9940952deddbfcce7bc5627.png

.

 

جعفر

1304.مثال اوفيسنا استعلام حذف بيانات من جدول بناء على جدول اخر.accdb.zip

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

أ/ حسام 

هذا الاستعلام ما في احسن منه سهل وبسيط ويقوم بالعمل المطلوب . 

اشكر اخي جعفر على هذا الشرح المتقن وعلى هذه الطريقة في الحصول على النتيجه المطلوبه لاكن استعلام ا/ حسام ممتاز وبسيط 

لدي سؤال اخر أ/ حسام وارجو منك المعذرة 

كيف يمكن عمل استعلام تحديث لبيانات في الجدول TB1 اذا تطابق حقل الرقم في الجدول TB1 مع الجدول حقل الرقم في الجدول TB2 بشرط ان يكون النوع في الجدول TB1 يساوي رقم 1 

بمعنى لو ان الجدول TB1 يحتوي على البيانات التالية 

الرقم         النوع           اسم العميل 

1                1                احمد 

الجدول TB2 يحتوي على البيانات التالية 

الرقم           النوع              اسم العميل 

2                  1                    خالد

1                   1                   راشد

الآن اريد عمل استعلام تحديث يقوم بتحديث بيانات الجدول TB1  الى اسم العميل راشد بدلاً من احمد 

ارجو ان اكون وفقت في الشرح 

مرفق مثال 

 

مثال اوفيسنا استعلا التحديث.accdb

تم تعديل بواسطه f16
رابط هذا التعليق
شارك

السلام عليكم 🙂

 

استعملت احد جداول هذا الملف

.

 

عملت مقارنة للسرعة لـ 3 طرق مختلفة على جدولين بنفس البيانات (2,844,047  سجل في كل جدول) :

image.png.90c2ce2cd90ec70ece2151dea2bca08c.png

.

الاستعلام 1 ، كما عمله اخي حسام :

image.png.cd06aa398a8e3e2b1f78fe54583d29ff.png

DELETE salaries1.*, salaries1.emp_no1, salaries1.from_date1
FROM salaries1
WHERE (((salaries1.emp_no1) In (SELECT emp_no2 FROM [salaries2])) AND ((salaries1.from_date1) In (SELECT from_date2 FROM [salaries2])));

.

واستغرق الاستعلام 28 ثانية لفتح البيانات (وليس لحذف البيانات) :

1304.1..gif.ce555397889dadeceebc4c337271f0cb.gif

 

.

 

الاستعلام 2 ، كما عملته انا :

image.png.c50c51c54c8480e7d62656c3ec26782f.png

DELETE salaries1.emp_no1, salaries1.*
FROM salaries1
WHERE (((salaries1.emp_no1) In (Select emp_no1 from qry_Similars)));

.

واستغرق الاستعلام 18 ثانية لفتح البيانات (وليس لحذف البيانات) :

1304.2..gif.b124fdddb881e05797548ec12d644390.gif

 

.

 

الاستعلام 3 ، بطريقة جديدة :

image.png.af03b6f0839b116e759e9c17c12481da.png

DELETE salaries1.*, salaries1.emp_no1, salaries1.from_date1
FROM salaries1
WHERE (((salaries1.emp_no1) In (SELECT emp_no2 FROM [salaries2] WHERE salaries1.[emp_no1]=[salaries2].[emp_no2] AND [salaries1].[from_date1]=[salaries2].[from_date2])));

.

واستغرق الاستعلام لفتح البيانات (وليس لحذف البيانات) :

1304.3..gif.3a9708206fe25258d3840e4cbeec10f0.gif

.

 

جعفر

  • Thanks 1
رابط هذا التعليق
شارك

في ٧‏/١٢‏/٢٠٢٠ at 21:10, husamwahab said:

مشاركة مع استاذ جعفر

ارجو ان تكون موفقة

 

aaa.rar 24.99 kB · 9 downloads

ا/ حسام  ما زلت منتظر لردك الكريم في ما يخص تحديث بيانات جدول من بيانات جدول اخر كما في الشرح اعلاه 

مع كل الشكر 

تم تعديل بواسطه f16
رابط هذا التعليق
شارك

15 ساعات مضت, husamwahab said:

السلام عليكم استاذ f16

اعتذر لتاخري بالرد والحمد لله انك وجدت الحل 

 

جزاك الله خيراً ونفع الناس بعلمك وزاد من العلم 

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information