15-06-2013, 12:49 AM
قمن باجراء استعلام من جدولين لا يوجد بينهم اي علاقة والمشكل هو ضهور سجلات مكررة بنتيجة الاستعلام فما الحل من فضلكم
|
التكرار بنتيجة الاستعلام
|
|
15-06-2013, 12:49 AM
قمن باجراء استعلام من جدولين لا يوجد بينهم اي علاقة والمشكل هو ضهور سجلات مكررة بنتيجة الاستعلام فما الحل من فضلكم
15-06-2013, 09:29 AM
السلام عليكم
استخدم الامر DISTINCT للحصول على القيم بدون تكرار كود : SELECT DISTINCT column_name,column_name
FROM table_name;
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
15-06-2013, 10:50 AM
شكرا على الرد السريع
لقد استغملت DISTINCT من قبل ويبق نفس المشكل PHP كود : SELECT DISTINCT Date_in,Quantite ,Code_Produits ,NewQua ,Nom_Produits ,Date_Sor,Code_Prod,Quantite_Sor,NewQua2, Nom_Clientكود : //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 فضهر مشكل تكرار
15-06-2013, 10:58 AM
السلام عليكم اخي الصورة لا تضهر جيدا لكن حسب ما رأبت ليس هناك تكرار
لان السجل الاول NewQua 300 و السجل الثالث الذي تفترض انه مكرر يضهر لي 305 و هكذا مع السجل الثاني و السجل الرابع عفوا اخي لم افهم جيدا ما الذي تريد فعله بالضبط
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
15-06-2013, 12:21 PM
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 مع جدوليين
1.rar (الحجم : 10.3 ك ب / التحميلات : 25)
15-06-2013, 01:07 PM
بعد التحليل ضهر لي ان المشكل في DISTINCT مع جدولين ماهي الطريقة الصحيحة لاستعمال DISTINCT مع جدولين
SELECT DISTINCT Date_in,Quantite ,Code_Produits ,NewQua ,Nom_Produits ,Date_Sor,Code_Prod,Quantite_Sor,NewQua2,Nom_Client FROM entrees, Sorties');
15-06-2013, 01:25 PM
السلام عليكم جرب استخدام union
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
15-06-2013, 01:35 PM
ولكن اين وكيف اضع distinct
15-06-2013, 01:44 PM
لا يا اخي الـ union تقوم بعمل distinct في هذه الحالة و السلام عليكم و رحمة الله
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج |
|
|