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

عمل عرض للبيانات بدون تكرار

بدأه miedoo في 7 يوليو 2010 · 7 رد · 669 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

SELECT DISTINCT User.Email, User.name, User.ID

FROM User where User.Email <> null;

يعني يعرض البيانات بدون تكرار Email و مع ذلك يعرض المكرر و الناتج بيطلعلي 51 مع العلم الصح 47 أخبروني بالله عليكم أين المشكلة ؟؟؟

و جربت هذا الكود

SELECT User.Email, User.name, User.ID

FROM User

WHERE User.Email IN

(SELECT User.Email

FROM User

GROUP BY User.Email

HAVING (((User.Email) Is Not Null) AND ((Count(*))>=1))

order by User.Email);

لكن لا فائدة ما السبب ؟؟

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

تم تعديل هذه المشاركة بواسطة miedoo في 7 يوليو 2010 في 10:20

#2

اخى ضع مرفق افضل

مدونتى:-

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

متغيب حاليا لانشغالى الشديد

#3

لا يمكنني ذلك فهو جزء من ملف كبير كما أن هذا sql هو مصدر المشاكل

و على فكرة ID هو السبب

عندما ألغيه ينجح الكود

ID هو primery key Auto number

#4

كلامك هذا يعنى انك لديك سجلات بها تكرار للايميل مع id مختلف

اذا فالنتائج الاولى صحيحة

فاختلاف id يجعل الاستعلام يرى السجل غير مكرر

و للتغلب على ذللك استخدم استعلام تجميع

SELECT First(user.id) AS FirstOfid, user.email, First(user.name) AS FirstOfname
FROM [user]
GROUP BY user.email
HAVING (((user.email) Is Not Null));

تم تعديل هذه المشاركة بواسطة mrnooo2000 في 7 يوليو 2010 في 11:01

مدونتى:-

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

متغيب حاليا لانشغالى الشديد

#5

لقد نجح أخي مشكور ألف شكر أخي

لكن ممكن تشرح لي وظيفة First()

#6

معناها اخى انك تختار السجل الاول من السجلات المكررة

يمكنك مثلا استبدالها ب last

و مقارنة النتائج

1

مدونتى:-

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

متغيب حاليا لانشغالى الشديد

#7

مشكور أخي و ألف شكر فعلا أنا استخدمت Last و طللعلي نفس النتائج

#8

تمت الإجابة

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