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

معرفة عدد ال cell الفارغة فى الاستعلام

مغلق
بدأه abkareno في 2 يوليو 2006 · 8 رد · 1,096 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل هناك دالة تقوم بعد ال cell الفارغة فمثلا لو عندى استعلام

select * from test where id =1

او اصنع لها دالة؟او الي عنده اقتراح يضعه

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#2

الحمد لله صنعة لها دالة مفيش حد عايز يعرفها توضيح اكثر للسؤال الركورد نتخيل مثلا انه فيه

سلطة وخيار و سلطة و فارغ وفارغ وسلطة

لو عايز اعرف كام مره كتبت فيها كلمة سلطة في الركرد ده

اعمل ايه

المفروض ان الناتج =3

لو حد مهتم بيها يقول

تم تعديل هذه المشاركة بواسطة abkareno في 3 يوليو 2006 في 01:21

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#3
اقتباس
لو عايز اعرف كام مره كتبت فيها كلمة سلطة في الركرد ده

اعمل ايه

المفروض ان الناتج =3

لو حد مهتم بيها يقول

select count(*) from database_forums where topic like '% search before you ask %'

فكر بطريقة أخرى

#4

شكراً علي التفاعل

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

ولكن اوضح اكثر الفكرة

i have table with 3 attributes ,we will assumed data in first record

a,b,a

and in the second record

b,b,a

i wanna know how mach "a" in the first record

the answer is 2

in the second record 1

i hoppe you get the idea

بنتظار ردك

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#5

ماذا اقول!! :( :(

select count(*) from database_forums where col1 like '% search before you ask %' or col2  like '% plz it is easy%' or col3 like '%think little to do what you want %'

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#6

وواو waeldalol شكراً علي التفاعل

بس انا لما عندى شعور ان الفكرة لم تصل بعد كل الردود حتى الان تقوم بالبحث في كل محتويات ال table

انا اقصد استعلام بسيط جداً

select * from table where id=1

معنى هذا الاستعلام

اريد كل بيانات الموجودة فى الattributes ولكن عندما يكون الattributes id يساوي 1

فلنتخيل ان الattributes الموجودة في الجدول table هى

id,namefirst,namesecond,namethird

وكان مسجل فيه

1,moh,dad,moh

2,dad,moh,dad

عن طريق الاستعلام تبع walcom

select count(*) from table where namefirst like '%moh%'

سوف تعود ب

1

وهذا لانها بحثت فى attribute namefirst ولم تجد الا قيمة واحدة

وكذلك الحال مع رد waeldalol يبحث فى كل الجدول

وهذا لم اقصدة

ارجع معي الي الاستعلام الاول وطبقاً لما سوف ينتج عنه اريد عدد "moh"

المفروض فى الركورد 1 يكون الناتج

2

والركورد الثانى يكون الناتج

1

ارجوا ان تكون الفكرة قد اتضحت *-) :D

كله ياخد وقته فى التفكير (حزورة حلوة على ما اعتقد) ;)

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#7
select
	sum(cnt) as RepeatNumber,id 
from ( (select count(*) as cnt ,id from table1 where namefirst like '%moh%' 
			group by ID)
		union all
		(select count(*) as cnt ,id from table1 where namesecond like '%moh%' 
			group by ID)
		(select count(*) as cnt ,id from table1 where namethird like '%moh%' 
			group by ID)
	) as t1
group by ID

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#8

شكراً مره اخرى علي التفاعل والاهتمام

ولكن لم افهم الاستعلام

ماذا تفعل union all

وايضا بهذا الشكل اعتقد انه لم يتم تحديد ركورد معين اي لم يتم تحديد id

فقد قمت بتحديد كلمة البحث ولم تحدد الركورد فكما تعلم سابقاً نحن نبحث في ركورد واحد فقط الان

هناك شئ اخر هل يجب ان يكون الحل فقط استعلام لماذا لا نستخدم الادوات المنطقية مثل if وwhile

وللعلم استخدم php

وعموماً سوف اضع الfunction بعد الرد التالى لهذا الرد بفرض انه لم يحلها وان كان حلها فقد سبق

واحب ان اوضح شئ اخر سعيد بأن يكون الرد من المشرفين

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#9
اقتباس
ماذا تفعل union all

تقوم هذه التعليمة بدمج نتائج التعليمات مع بعضها البعض مع التكرار

اقتباس
وايضا بهذا الشكل اعتقد انه لم يتم تحديد ركورد معين اي لم يتم تحديد id

فقد قمت بتحديد كلمة البحث ولم تحدد الركورد فكما تعلم سابقاً نحن نبحث في ركورد واحد فقط الان

بما انّ ال ID هو مفتاح اساسي لجدولك فانت تبحث في كل Record

اقتباس
هناك شئ اخر هل يجب ان يكون الحل فقط استعلام لماذا لا نستخدم الادوات المنطقية مثل if وwhile

وللعلم استخدم php

وعموماً سوف اضع الfunction بعد الرد التالى لهذا الرد بفرض انه لم يحلها وان كان حلها فقد سبق

واحب ان اوضح شئ اخر سعيد بأن يكون الرد من المشرفين

يمكن عمل ذلك باستخدام Function و لكن لماذا اذا كنا نستطيع عمل ذلك باستخدام الاستعلام

بالمناسبة هناك خطأ في الاستعلام السابق سقط سهواً

select
sum(cnt) as RepeatNumber,id 
from ( (select count(*) as cnt ,id from table1 where namefirst like '%moh%' 
group by ID)
union all
(select count(*) as cnt ,id from table1 where namesecond like '%moh%' 
group by ID)
union all
(select count(*) as cnt ,id from table1 where namethird like '%moh%' 
group by ID)
) as t1
group by ID

هذا الاستعلام يعمل بشكل صحيح بدون اي مشاكل

اذا اردت شرح عنه:

لقد قمنا بعمل عدة استعلامات جزئية تقوم بجلب عدد السجلات للحقول المطلوبة مجمعة حسب ID اي المفتاح الاساسي و من ثم نقوم بجمع عدد السجلات لكي تنتج

بالنهاية على مستوى ال Record اي السجل

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

هذا الموضوع مغلق.

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