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

مشكلة الفرز بواسطة Distinct

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

السلام عليكم اخواني الاعزاء :

استخدمت العبارة Distinct لعرض البيانات بدون تكرار . ولكن المشكلة تظهر معي عند ضم حقل يحتوي على بيانات ليس بها تكرار للاستعلام , تظهر لي السجلات كامله ولكن عند ضم اي حقول بياناتها مكرره للاستعلام يمشى الوضع كويس .

ارجوا المساعدة في هذا الامر .. مع العلم ان هذه المشكلة لم اواجها إطلاقا مع قواعد البيانات اوراكل . :happy:

post-218064-041339800 1309816966_thumb.j

المرفقات
sql-2005-distinct.jpg

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#2

السلام عليكم ورحمه الله وبركاته

اخي جرب الاستعلام التالي

Select Distinct id2,cfrom,id,cstm_id From [Maroup].[dbo].[inTables]

.:: Wish to become better and better ::.

#3

فعلا هذي مشكله تجنن حاولت فيها كثير وحليتها بأني استدعي كل عمود على حده يعني بعمل select لكل عمود لان ممكن أي واحد من الأعمدة ان تكرر قيمته بعد ذلك أجمع ناتج جمل الselect في array في C#

على العموم اذا ما اتحلت انا بحاول فيها

تم تعديل هذه المشاركة بواسطة medo_Programming في 5 يوليو 2011 في 04:21

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#4

السلام عليكم

distinct تعمل لجميع الصف وليس حسب العمود اي لا يوجد فرق بي

 SELECT  distinct (id2),  cform

وبين

 SELECT  distinct id2,  cform

الحل يعتمد على المطلوب ولكن على الاغلب group by تقوم بالمهمة كمايلي :

 
SELECT   id2 ,  max(cform)   from inTables
group by id2
#5

عزيزي TareqVB اثناء محاولاتي جربت Group by مع Distinct ايضا تظهر جميع السجلات ...

عزيزي medo_Programming هل الموضوع منتهي للبحث عن حلول برمجية على Distinct .

تم تعديل هذه المشاركة بواسطة mamababadada في 5 يوليو 2011 في 15:10

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#6

توصلت لحل مبدئي ...بس طويل شوي وهو

اني اعمل distinct على عمود فقط وهو الاول وبعدين أعمل function لكل الاعمدة الأخرى

create function cfrom(@id2 int)
returns nvarchar(255)
as
begin
declare @x nvarchar(255)
select  @x=cfrom from Table_1 where id2=@id2
return @x
end
----------------
Create function ID(@id2 int) 
returns int
as 
begin
declare @x int 
select  @x=ID from Table_1 where id2=@id2
return @x
end
-------------
Create function cstm_id(@id2 int)
returns int
as
begin 
declare @x int 
select  @x=cstm_id from Table_1 where id2=@id2
return @x
end

select distinct id2,dbo.cfrom(id2),dbo.ID(id2),dbo.cstm_id(id2)from Table_1

هذا الحل مبدئي ...جربة

1

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#7

بطل والله انك بطل يا medo_Programming وبما انه حل مبدئي سأحل به المشكله الآن الى أن تتحفنا بالحل الامثل :wink:

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#8

مشكور أخي الكريم

بصراحة انا حاولت كثير اني الاقي حل افضل بس فشلت :sad: ياريت أحد من الأعضاء يساعدنا بالافكار

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#10

هذي النتيجه طبعا حيكون هناك Where و Order by لتحديد المطلوب عرض نتائجه من السجل ككل .

عزيزي medo_Programming ما قصرت وننتظر احد الخبراء لحل هذي المسأله علما ان حتى ميكروسوفت في مناقشات تعليمات sql للــ sql server تتجنب الموضوع هذا اتوقع المشكله في الــ database

post-218064-002180500 1310148032_thumb.j

المرفقات
result.jpg

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

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