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

اتمنى من يساعدني في هذه الجملة

بدأه أبورنه في 19 فبراير 2010 · 8 رد · 636 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اولاً اعتذر منكم

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

اتمنى ان يكون طرحي هنا هو المكان الصحيح

كل ما اريده هو جملة select قط

بسم الله الرحمن الرحيم

اسم الجدول : الموظفين

الحقول :

1- اسم الموظف

2- المدينة

3- الراتب

4- الشهر

المطلوب

لنفرض ان هناك موظف اسمه محمد وهو من مدينة الرياض واستلم 10 رواتب قيمة كل راتب 1000 ريال يكون المجموع 10000 ريال

و موظف آخر من الرياض واستلم 10 رواتب قيمة الراتب 900 ويكون المجموع 9000 ريال

وموظف من جدة راتبه 1500 ريال واستلم 10 رواتب سيكون المجموع 15000 ريال

انا اريد ان يعرض اكثر موظف استلم رواتب من الرياض طبعاً هو محمد استلم 10000 ريال - كما انني اريد ان يتجاهل اي نتيجة تخص الرياض يكتفى بأكبر راتب فقط

ثم يعرض اهل جدة ..... الخ

اتمنى وضحت الفكرة

#2

جرب هذا

select max(salary) from emp group by city
#3

أخوي ابو محمد

جزاك الله خير

كلامك صحيح بس هناك شيء مهم

باقي name وين راح

وانا اريد مجموع الرواتب لأن الجدول فيه رواتب اكثر من شهر sum

تم تعديل هذه المشاركة بواسطة أبورنه في 19 فبراير 2010 في 16:37

#4
أبورنه كتب:

أخوي ابو محمد

جزاك الله خير

كلامك صحيح بس هناك شيء مهم

باقي name وين راح

وانا اريد مجموع الرواتب لأن الجدول فيه رواتب اكثر من شهر sum

ما قرأت السؤال جيدا

select sum(salary) from emp group by city

بالنسبة للأسم ما تقدر تضيفه لانك مسوي تجميع

بالنسبة لي اضيفه عن طريق الدلفي .

#5

اخي اعذرني على سؤالي ولكن خبرتي في الجملة ليست بالكبيرة

الا يمكن ان اقوم بعمل sum و max لنفس الحقل

#6
أبورنه كتب:

اخي اعذرني على سؤالي ولكن خبرتي في الجملة ليست بالكبيرة

الا يمكن ان اقوم بعمل sum و max لنفس الحقل

اخوي انا جربت ما مشي الحال

ان شاءالله يفيدونك الاخوان فيها

#7

:blush:

ياليت من خبراء sql تفيدوني

والله ان هذه الجملة اتعبتني بالحييييل

#8

جرب جملة sql هذه :

SELECT     MAX(SumOfSalaries), City
FROM         (SELECT     Name, SUM(Salary) AS SumOfSalaries, City
                        FROM         emp
                        GROUP BY Name, City) AS Summed
GROUP BY City

سبحان الله وبحمده ... سبحان الله العظيم

#9

السلام عليكم

من شرحك هذا هو المطلوب وهو يعمل على 2005+ .

--انشاء جدول مؤقت
Declare @t table(id int, Name varchar(20),city varchar(20),salary int)
Insert into @t 
	select 1, 'Tareq', 'Alquds', 7000 union all
	select 2,'Waleed', 'Amman', 6500 union all
	select 3,'abas', 'Alquds', 9000 union all
	select 1,'Tareq', 'Alquds', 7200 union all
	select 3,'abas', 'Alquds', 0056 union all
	select 2,'Waleed', 'Amman', 7118 


--وهذا هو الاستعلام

select id,name,city,sa  from (
SELECT  * , RANK() OVER (PARTITION BY city order by sa desc) as [RANK] FROM 
(
SELECT id,Name, city, sum(salary) sa
FROM @t
GROUP BY city,id,Name
) aa

) bb
where rank=1

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

id name city sumofSalary

1 Tareq Alquds 14200

2 Waleed Amman 13618

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

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