delphi4arab منتديات دلفي للعرب
شرط في تعليمة sql - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : شرط في تعليمة sql (/showthread.php?tid=3308)



شرط في تعليمة sql - FPS - 24-07-2011

السلام عليكم ورحمة الله بركاته

بفرض لدي جدول storage (مستودع) وجدول m للمواد
ما هي تعليمة SQL التي تعطي اسماء المستودعات التي تحوي بداخلها المادة m1 و m2 و m3 ...
أي أن المستودع الواحد يحوي هذه المواد الثلاثة


شرط في تعليمة sql - paix144 - 24-07-2011

عليكم السلام و رحمة الله
أنظر هذا أخي
كود :
SELECT name_storage,name_m,code_sto FROM storage,m WHERE name_storage IN('m1','m2','m3')and storage.code_sto=m.code_sto
لم اجربه بعد


شرط في تعليمة sql - FPS - 30-07-2011

شكرا أخي pixa144 جربت الكود لكنه لم ينجح
أنا كتبت الكود التالي:

كود :
select * from storage where id in (select id from m where name in ('m1','m2','m3'))
لكن هذا الكود يعيد كل المستودعات التي يوجد فيها أحد المواد المذكورة والصحيح ان تعيد كل المستودعات التي تحوي كل المواد المذكورة


شرط في تعليمة sql - Lam.Abdeldjalil - 30-07-2011

السلام عليكم

جرب كالمثال التالي :
كود :
select * from customers where ( select count(*) from customers where customerid in ('Val1','Val2'))>=2 and customerid in ('Val1','Val2')
في حالتك عدد السجلات يجب أن يساوي 3

بالتوفيق


شرط في تعليمة sql - FPS - 01-08-2011

السلام عليكم
شكرا لك اخي لكن المثال الذي طرحته انت لو قسته على مثال المستودعات يفترض وجود المادة الواحدة في مستودع واحد اما ما اتعامل معه انا فيمكن ان تكون المادة موجودة في اكثر من مستودع مع مواد اخرى

قمت بتعديل الكود السابق من اجل البحث فقط ولم اجد الحل بعد للمشكلة الرئيسية
كود :
select * from storage where id in (select id from m where (name like '%m1%' or name like '%m2%' or name like '%m3%'))



شرط في تعليمة sql - Lam.Abdeldjalil - 20-09-2011

و عليكم السلام و رحمة الله

لماذا حورت الإستعلام ؟

كود :
select * from customers where ( select count(*) from customers where customerid in ('Val1','Val2'))>=2 and customerid in ('Val1','Val2')
لاحظ جيدا الإستعلام
نقوم بإختيار الزبائن إذا وجدت القيمتين Val1 . Val2 للـ customerid
إذا وجدت قيمة واحدة فقط الإستعلام لايرجع شيئ وفقا للشرط الأول select count(*) ...>=2

+ لا تنسى الربط الداخلي في حالتك

بالتوفيق