الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في كود matching عملية مقارنة بين الحقول

بدأه المتخطي في 11 فبراير 2012 · 5 رد · 623 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة انا اريد ان اصمم موقع للباحثين عن عمل واريد مساعدة في فكرة عملية matching اي مقارنة بين الحقول للباحث مع الجهة ليعرف كل جهة مايناسبها من باحثين والعكس صحيح و للعلم ان كل جهة تحدد الحقول المراد البحث عنها ياريث تساعدوني و شكراَ

#2

ياجماعة معقول مافي اي مساعدة ولا رد

#3

السلام عليكم.

أخي الموضوع بسيط إن شاء الله.

لنفرض أنه لديك حقلين:

حقل مستوى الشهادة : و لها القيم التالية من الجدول الرئيسي ( إعدادي - ثانوي - معهد - جامعة - ماجستير .... الخ ) و لنسمه : DegreeID

حقل تخصص البرمجة : و لها القيم التالية من الجدول الرئيسي ( C# , VB , Java و PHP ... الخ ) و لنسمه : LanguageID

هذا الحقل سيكون موجوداً لدى الباحث عن العمل و أيضاً لدى جهة العمل.

لدى جهة العمل و بالنسبة لحقل مستوى الشهادة: فهذا الحقل يكون واحداً أي أن مستوى الشهادة يكون جامعة فقط و الباحث عن العمل يجب أن يحقق هذا المستوى أو أعلى مثلاً:

where Seeker.DegreeID >= Seeker.DeegreeID

(طبعاً أنا افترضت هنا لتسهيل الشرح أن ال ID متصاعد ) و هذا يعني أن مستوى التعليم للبهحث عن العمل يجب أن يطابق أو يزيد عن مستوى التعليم المطلوب من جهة العمل.

بالنسبة لحقل تخصص البرمجة المطلوب: ففي هذه الحالة يمكن أن تطلب جهة العمل تخصصين أو أكثر و بالتالي يجب على الباحث عن العمل أن تكون بعض/كل تخصصاته تحقق جميع التخصصات المطلوبة من جهة العمل.

وبالتالي الاستعلام يكون له الشكل التالي:

declare @JobID int = 1

select Seekers.SeekerID, SeekerName, count(SeekerLangs.LanguageID)
from Seekers join SeekerLangs on Seekers.SeekerID = SeekerLangs.SeekerID
join JobLangs on SeekerLangs.LanguageID = JobLangs.LanguageID
where JobLangs.JobID = @JobID
group by Seekers.SeekerID, SeekerName
having count(SeekerLangs.LanguageID) = (select count(*) from JobLangs where JobID = @JobID)
#4

كلامك جميل اخي ومنطقي ولكن المشكلة ان عملية المقارنة لاتتم على جدول المؤهلات العلمية بين الجهة والباحث بل ان المشكلة تتم حسب رغبة الجهة انا سويت جدول لي الجهة وسميته وظيفة هذا الجدول حيكون فيه رقم الوظيفة واسم الوظيفة ورقم الجهة و الدولة ونوع الشخص سنوات الخبرة و الراتب وقمت بأضافة خمسة حقول اخرا ستكون قيمتها true or false وهذي الحقول هيا الاشياء التي ستختارها الجهة للمقارنة عليها مثلاً يريد التخصص والمؤهل والدولة سنوات الخبرة و الراتب طبعاً اخي جدول الوظيفة حيكون معاه مجموعة من الجداول المساعدة مثل المؤهلات وجدول المهارات وجدول اللغات لأن الوظيفة التي تقدمها الجهة ممكن ان تشترط فيها اكثر من للغة وكذلك ممكن ان تطلب اكثر من مهارة فلا استطيع ان اظيفها في نفس جدول الوظيفة والمشكلة اخي ان ليس كل جهة سوف تحدد نفس الاشياء المقارنة على اسساسها فممكن جهة تشترط فقط سنوات الخبرة و المؤهل وجهة اخر ا تختار مجموعة من اللغات و تخصص وطبعاً يجب ان تتحقق المطالب حتى نعرف من تطابق مع هذه الجهة .

وايظاً بنسبة للباحث فعدنة جدول الباحث الذي سيكون فيه رقمة ومعلوماته الشخصية وهناك ايظاً جدول اخر وهوا الوظيفة المرغوبة للباحث يكون فية رقم الباحث و المسمى الوظيفي و الدولة و الهدف من الوظيفة ودوام العمل و الراتب وهناك جداول مساعدة مربوطة بالباحث كجدول المؤهلات وجدول اللغات وجدول المهارات .

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

ملاحظة: كل ماتختار الجهة الاشياء المراد البحث عنها سيظاف في احد الحقول التي تكلمة عليها في البداية الموجودة في جدول الوظيفة التي تكون true or false يعني لو اختارت تخصص حيكون حقل مسما بأسم التحصصات قيمتة ستصبح true و هكذا ارجو ان تكون فهمت قصدي اخي الكريم واسف على تعبك

#5

أخي المعلومات التي ذكرتها كثيرة :wacko:

الأفضل أن يتم أخذ عينة من حقول المقارنة ووضع بنية الجداول الخاصة بها في السؤال و من ثم المناقشة على أساسها.

#6

ممكن ترفق قاعدة البيانات حتي نتمكن من كتابة المر مع قليل من البيانات

قد يفيدك هذا الرابط

الرابط الخاص بي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…