وعليكم السلام ورحمة الله وبركاته
مرحباً اخى abu ammar
انا هتجاهل موضوع الحكومة وما شبه
واتخطى القواعد والاسوس على بناء ذلك
لكن بالشكل العام
لديك موظين وتريد انشاء 7% لكل موظف عن كل سنة
بحد ادنى 65 جنيه فبالتالى سيتم الاتى
لنقول لديك جدول الخاص بالمرتبات وجدول خاص بالزيادات السنوية
فى البداية فى جدول الزيادات هيتم عمل التالى
كود :
INSERT INTO Test ( Salary, Dategive)
SELECT iif((( Test2.Salary * 7) / 100 ) < 65, 65, (( Test2.Salary * 7) / 100 )) as Salary, CONVERT (date, GETDATE()) as Dategive
FROM Test2
وهنا ما سيتم اضافة النسبة المضافة للموظف عن هذا العام
ناتى بعد ذلك فى جدول المرتبات لاضافة الزيادة على المرتب
كود :
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)
SELECT CASE
WHEN (Test2.Salary * 7) / 100 <= 65 THEN 65
ELSE (Test2.Salary * 7) / 100
END as Salary, CONVERT (date, GETDATE()) as Dategive
FROM Test2
والان لجدول الرواتب
كود :
UPDATE Test2 SET Salary = CASE
WHEN (Salary * 7) / 100 <= 65 THEN 65
ELSE (Salary * 7) / 100
END
طبعاً ما تم شرحة توضيح لكيفية التعامل كمثال
كل ما عليك بتغيير المسميات واضافة ما هو بحاجة له
تحياتى لك
وتمنياتى لك التوفيق