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

القسمة فى SQL

بدأه tatatab في 7 أبريل 2011 · 3 رد · 837 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني لدي جدول اسمه work به حقلين الاول اسمه ID والثاني اسمه Type

قمت بملئ هذا الجدول كالتالى :

ID : 1

type :PM

ID:2

Type :PM

ID:3

Type:CM

ID:4

Type:CM

ID:5

Type:CM

ID:6

Type:CM

ID:7

Type:CM

ID:3

Type:PM

وقمت باختيار التالى :

Select Count (work.type) From Work Where

سؤالى : كيف يمكن عمل مجموع Cm/CM+PM

بمعنى اريد اختيار

select work.type from work where count CM / count CM + count PM

#2
tatatab كتب:

اخواني لدي جدول اسمه work به حقلين الاول اسمه ID والثاني اسمه Type

قمت بملئ هذا الجدول كالتالى :

ID : 1

type :PM

ID:2

Type :PM

ID:3

Type:CM

ID:4

Type:CM

ID:5

Type:CM

ID:6

Type:CM

ID:7

Type:CM

ID:3

Type:PM

وقمت باختيار التالى :

Select Count (work.type) From Work Where

سؤالى : كيف يمكن عمل مجموع Cm/CM+PM

بمعنى اريد اختيار

select work.type from work where count CM / count CM + count PM

الا من مجيب اخواني ام ان طلبى غير موجود؟

#3

لم افهم المطلوب بالضبط لكن يمكن يمكن عمل استعلام لكل مجموع ووضعهم في نفس الاستعلام

 

select type ,(SELECT count(*)  FROM work where type ='CM') / 
((SELECT count(*)  FROM work where type ='CM') + 
(SELECT count(*)  FROM work where type ='PM'))  as xxx

from work

وارجو ان تضع النتيجة المتوقعة من الاستعلام حتى نفهم اكثر .

#4
TareqVB كتب:

لم افهم المطلوب بالضبط لكن يمكن يمكن عمل استعلام لكل مجموع ووضعهم في نفس الاستعلام

 

select type ,(SELECT count(*)  FROM work where type ='CM') / 
((SELECT count(*)  FROM work where type ='CM') + 
(SELECT count(*)  FROM work where type ='PM'))  as xxx

from work

وارجو ان تضع النتيجة المتوقعة من الاستعلام حتى نفهم اكثر .

اخى وفقنى الله وتوصلت الى النتيجة وكانت كالتالى :

SELECT CAST(total_cm AS decimal) / CAST(total_pm + total_cm AS decimal) AS Expr1

FROM (SELECT total_pm, total_cm

FROM (SELECT DISTINCT (SELECT COUNT(*) AS Expr1

FROM [work]

WHERE (type = 'pm')) AS total_pm,

(SELECT COUNT(*) AS Expr1

FROM [work] AS work_2

WHERE (type = 'cm')) AS total_cm

FROM [work] AS work_1) AS derivedtbl_1) AS derivedtbl_2

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