delphi4arab منتديات دلفي للعرب

نسخة كاملة : التكرار بنتيجة الاستعلام
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
قمن باجراء استعلام من جدولين لا يوجد بينهم اي علاقة والمشكل هو ضهور سجلات مكررة بنتيجة الاستعلام فما الحل من فضلكم
السلام عليكم
استخدم الامر DISTINCT للحصول على القيم بدون تكرار
كود :
SELECT DISTINCT column_name,column_name FROM table_name;
شكرا على الرد السريع
لقد استغملت DISTINCT من قبل ويبق نفس المشكل
PHP كود :
SELECT   DISTINCT  Date_in,Quantite ,Code_Produits ,NewQua ,Nom_Produits ,Date_Sor,Code_Prod,Quantite_Sor,NewQua2, Nom_Client
 FROM entrees
, Sorties 
المشكل في دمج جدولين entrees, Sorties حيث بعد الفلترة باللكود
كود :
//Query1.Filter:='Code_Produits='+QuotedStr(DBLookupComboBox8.Text)+' and '+'Date_in>='''+D7+'''and Date_in<= '''+D8+'''' + ' and '+'Code_Prod='+QuotedStr(DBLookupComboBox8.Text) +' and '+'Date_Sor>='''+D7+'''and Date_Sor<= '''+D8+''''; // Query1.Filtered:=True;
تضهر النتيجة مضاعفة كما مبين في الصورة بعد الفلترة حسب اسم المادة وبين تاريخينى معينيين
حيث ان اصل المشكل هو بقيامي بوضع معطيات الجدولين entrees, Sorties للاخراج من خلال
quickrreport حيث انquickrreport لا يقبل الا dataset واحدة فبتاللي تضهر سجلات احد الجدوليين كاملة بينما لا يضهر من الجدول الثاني الا السجل الاول فكنت مضطر لدمج الجدوليين في Query1 فضهر مشكل تكرار
السلام عليكم اخي الصورة لا تضهر جيدا لكن حسب ما رأبت ليس هناك تكرار
لان السجل الاول NewQua 300
و السجل الثالث الذي تفترض انه مكرر يضهر لي 305
و هكذا مع السجل الثاني و السجل الرابع
عفوا اخي لم افهم جيدا ما الذي تريد فعله بالضبط
1/في بداية الامر لديا جدولين entrees, Sorties اردت طبع معطياتهم مع بعض في quickrreport واحد
مع العلم ان quickrreport في خاصية dataset يجب ان تكون اما dataset للجدول entrees او للجدول
Sorties فإذ كانت للجدول entrees تضهر السجلات كاملة اما جدول Sorties فيضهر الا السجل الاول والعكس صحيح فاضطريت لدمج الجدولين في استعلام Query1 ليصبح dataset الخاص ب quickrreport هو Query1

الاستعلام الخاص ب Query1 هو لجدولين :

عند استعمال DISTINCT بجدول واحد يكون الاستعلام دون تكرار / الصورة 1
SELECT DISTINCT Date_in,Quantite ,Code_Produits ,NewQua ,Nom_Produits
FROM entrees

اما عند ستعمال DISTINCT بجدولين الاستعلام يكون به تكرار /صورة 2
SELECT DISTINCT Date_in,Quantite ,Code_Produits ,NewQua ,Nom_Produits ,Date_Sor,Code_Prod,Quantite_Sor,NewQua2, Nom_Client
FROM entrees, Sorties

كود فلترة بين تاريخين لل Query1
Query1.Filter:='Code_Produits='+QuotedStr(DBLookup ComboBox8.Text)+' and '+'Date_in>='''+D7+'''and Date_in<= '''+D8+'''' + ' and '+'Code_Prod='+QuotedStr(DBLookupComboBox8.Text) +' and '+'Date_Sor>='''+D7+'''and Date_Sor<= '''+D8+'''';
// Query1.Filtered:=True

فهل المشكل في الفلتر او في DISTINCT مع جدوليين

[attachment=2588]
بعد التحليل ضهر لي ان المشكل في DISTINCT مع جدولين ماهي الطريقة الصحيحة لاستعمال DISTINCT مع جدولين
SELECT DISTINCT Date_in,Quantite ,Code_Produits ,NewQua ,Nom_Produits ,Date_Sor,Code_Prod,Quantite_Sor,NewQua2,Nom_Client FROM entrees, Sorties');
السلام عليكم جرب استخدام union

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
ولكن اين وكيف اضع distinct
لا يا اخي الـ union تقوم بعمل distinct في هذه الحالة و السلام عليكم و رحمة الله