![]() |
|
[SQL] كود sql - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [SQL] كود sql (/showthread.php?tid=26692) |
كود sql - abu ammar - 28-09-18 السلام عليكم لو فرضنا أن لدينا جدول t1 به حقل main_salary عبارة عن الأجر الوظيفي للموظف وأصدرت الحكومة قرار بمنح جميع الموظفين علاوى دورية قدرها 7% من الأجر الوظيفي بحد أدنى قدره 65 جنيها في 1/7/2018 كيف يمكن صياغة ذلك بعبارة sql select main_salary(main_salary * 0.07) from t1
where main_salary > 65
أرجو التصحيح لو يوجد خطأ
select أم update ?? RE: كود sql - عبدالله الدوسري - 29-09-18 وعليكم السلام أخي أبو عمار , إذا كان الموضوع حسابات مالية , وفيها قرار حكومة هههههههههههه استنى شوي مش بهذة الطريقة ...... العلاوة الدورية الأفضل يكون لها جدول مختلف مرتبط برقم الموظف وكل علاوة دورية تنظاف لهذا الجدول لكن طريقة الحساب راح تختلف قليلاً على أساس يطلع معك الأجر الوظيفي ( تحسب الأجر الأساسي : وهو عبار عن أول مربوط + جميع العلاوات الدورية التي تخصة في جدول العلاوات الدورية ) مثلاً : العلاوة الدورية بمقدار زيادة 7% كل سنة --------------------------------------------------------------- البداية ستكون كالتالي بهذة الأرقام مثلاً : الأجر الأساسي هو : 1000 مجموع العلاوات الدورية هو : صفر علاوة دورية إستحقاق في سنة 2015 = (1000 + جميع علاوات الموظف في جدول العلاوات الدورية ) * 7% = 70 ( 1000 ) * %7 = 70 يتم إضافة سجل جديد في جدول العلاوات الدورية رقم الموظف : 1 , القيمة 70 , تاريخ العلاوة 01/01/2015 ---------------------------------------------------------------- مجموع العلاوات في جدول العلاوات الدورية أصبح = ( 70 ) الأجر الوظيفي أصبح = 1070 ( وهو ناتج الأجر الأساسي + جميع العلاوات الدورية الموجودة في جدول العلاوات ) علاوة دورية إستحقاق في سنة 2016 = (1000 + جميع علاوات الموظف في جدول العلاوات الدورية ) * 7% = 74.9 ( 1070 ) * %7 = 74.9 يتم إضافة سجل جديد في جدول العلاوات الدورية رقم الموظف : 1 , القيمة 74.9 , تاريخ العلاوة 01/01/2016 ---------------------------------------------------------------- مجموع العلاوات في جدول العلاوات الدورية أصبح = ( 144.9) الأجر الوظيفي أصبح = 1144.9 ( وهو ناتج الأجر الأساسي + جميع العلاوات الدورية الموجودة في جدول العلاوات ) علاوة دورية إستحقاق في سنة 2017 = (1000 + جميع علاوات الموظف في جدول العلاوات الدورية ) * 7% = 80.143 ( 1144.9 ) * %7 = 80.143 يتم إضافة سجل جديد في جدول العلاوات الدورية رقم الموظف : 1 , القيمة 80.143 , تاريخ العلاوة 01/01/2017 ---------------------------------------------------------------- مجموع العلاوات في جدول العلاوات الدورية أصبح = ( 225.043) الأجر الوظيفي أصبح = 1225.043 ( وهو ناتج الأجر الأساسي + جميع العلاوات الدورية الموجودة في جدول العلاوات ) وهكذا .... ستحصل على جدول يبين العلاوات الدورية وتواريخها وبإمكانك معرفة الأجر الوظيفي ( الأجر الأساسي + جميع العلاوات الدورية الموجودة في جدول العلاوات ) إن شاء الله تكون فكرة مناسبة لك . تحياتي RE: كود sql - elgokr - 29-09-18 وعليكم السلام ورحمة الله وبركاته
مرحباً اخى abu ammar
انا هتجاهل موضوع الحكومة وما شبه
واتخطى القواعد والاسوس على بناء ذلك
لكن بالشكل العام
لديك موظين وتريد انشاء 7% لكل موظف عن كل سنة
بحد ادنى 65 جنيه فبالتالى سيتم الاتى
لنقول لديك جدول الخاص بالمرتبات وجدول خاص بالزيادات السنوية
فى البداية فى جدول الزيادات هيتم عمل التالى كود : INSERT INTO Test ( Salary, Dategive)وهنا ما سيتم اضافة النسبة المضافة للموظف عن هذا العام
ناتى بعد ذلك فى جدول المرتبات لاضافة الزيادة على المرتب كود : UPDATE Test2 SET Salary = iif((( Salary * 7) / 100 ) < 65, (Salary + 65), (Salary + (( Salary * 7) / 100 )))وبكده هيتم تحديث جميع الموظفين بالنسبة المحددة 7%
الشرح بالاعلى يطبق على Sql Server 2012 وما اعلى
وللاصدار 2008 وما اقل او اعلى يمكنك تطبيق الكود بهذا الشكل
لجدول الزيادات
كود : INSERT INTO Test ( Salary, Dategive)كود : UPDATE Test2 SET Salary = CASE طبعاً ما تم شرحة توضيح لكيفية التعامل كمثال
كل ما عليك بتغيير المسميات واضافة ما هو بحاجة له
تحياتى لك
وتمنياتى لك التوفيق
RE: كود sql - ahmedmansour - 29-09-18 اعمل جدول منفصل للعلاوة و ضيفة قيمة العلاوة على حسب السنة مكون من الرقم الظيفي - قيمة العلاوة- سنة العلاوة و تابع شرح الاخوة جزاهم الله خيرا RE: كود sql - abu ammar - 30-09-18 شكرا جزيلا للجميع وأنا آسف يا جماعة فأنا مبتدئ بالبرمجة و البرمجة بالنسبة لي هواية
انا أعمل مدير موارد بشرية وصممت برنامج به بيانات العاملين بالوحدة ومن هذه البيانات
الأجر الوظيفي فبدلا من تحديث الاجر الوظيفي لأكثر من 1000 موظف كل موظف على حدة
فكرت في عمل استعلام أقوم من خلاله بتحديث الأجر الوظيفي لجميع العاملين بكبسة زر.
شكرا جزيلا وسأطبق المعلومات اللي تفضلتم بها
|