RAIANESAMI قام بنشر منذ 9 ساعات قام بنشر منذ 9 ساعات (معدل) السلام عليكم اخواني اخواتي اريد مساعدنكم لدي جدول test ويوجد به رقم الزيون - اسم المادة -حجم المادة - تاريخ فاتورة واريد البحث عن تكرارات في مدة اقل من 03 شهور ابتداءا من اكبر تاريخ فاتورة وفقط اي في مجال أكبر تاريخ فاتورة الى أقل من تاريخ فاتورة ب 03 اشهر استعملت لكنه يظهر لي تاريخ خارج المجال SELECT t1.* FROM test AS t1 WHERE EXISTS ( SELECT 1 FROM test AS t2 WHERE t2.[رقم الزبون] = t1.[رقم الزبون] AND t2.[إسم المادة] = t1.[إسم المادة] AND t2.[حجم المادة] = t1.[حجم المادة] AND DateValue(t2.[تاريخ الفاتورة]) >= DateAdd("m", -3, DateValue(t1.[تاريخ الفاتورة])) AND DateValue(t2.[تاريخ الفاتورة]) <= DateValue(t1.[تاريخ الفاتورة]) AND t2.[تاريخ الفاتورة] <> t1.[تاريخ الفاتورة] ); تم تعديل منذ 9 ساعات بواسطه RAIANESAMI
RAIANESAMI قام بنشر منذ 8 ساعات الكاتب قام بنشر منذ 8 ساعات db2.mdb وجربت طريقة اخري ولم افلح SELECT t1.* FROM test AS t1 INNER JOIN [SELECT [رقم الزبون], [إسم المادة], [حجم المادة] FROM test GROUP BY [رقم الزبون], [إسم المادة], [حجم المادة] HAVING COUNT(*) > 1 AND MAX([تاريخ الفاتورة]) >= DateAdd("m", -3, MIN([تاريخ الفاتورة])) ]. AS t2 ON (t1.[حجم المادة] = t2.[حجم المادة]) AND (t1.[إسم المادة] = t2.[إسم المادة]) AND (t1.[رقم الزبون] = t2.[رقم الزبون]);
Foksh قام بنشر منذ 8 ساعات قام بنشر منذ 8 ساعات وعليكم السلام ورحمة الله وبركاته .. أخي الكريم ، في استعلامك ، تظهر النتائج بهذا الشكل :- استعلام1 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 8 2025-03-01 1001 سردين 1000غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ 16 2024-11-01 1006 جبن 500غ 17 2024-10-01 1006 جبن 500غ الآن كنوع من التوضح ، هل النتيجة التي تريدها = :- Query1 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 2 2025-01-01 1002 سردين 100غ 3 2025-01-01 1003 اللحم 500غ 4 2025-09-01 1004 طماطم 1000غ 5 2025-01-01 1005 طماطم 500غ 6 2025-01-01 1006 مشروب عازي 1ا 8 2025-03-01 1001 سردين 1000غ 9 2025-01-01 1001 سردين 50غ 10 2025-04-01 1002 مشروب عازي 2ل 11 2025-02-01 1006 طماطم 500غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ أم هل لك أن توضح بشكل أكبر بناءً على مثالك ما النتائج التي يجب أن تظهر لك ؟؟؟ أم هذه النتيجة :- Query2 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 8 2025-03-01 1001 سردين 1000غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ
RAIANESAMI قام بنشر منذ 7 ساعات الكاتب قام بنشر منذ 7 ساعات (معدل) السلام عليكم اخي انا اريد مثلا اذا كانت اكير تاريخ هو 01-03- 2025 للزبون اريده ان بظهر الاستعلام التواريخ التى تساوي او اقل 01-03-2025 ب 03 اشهر اي من تاريخ 01-12-2024 الى غاية 01-03-2025 اما باقي التواريخ التي هي فبل تاريخ الفاتورة 01-12-2024 لا تظهر ربما في متال الاخير هو الانسب Query2 ID تاريخ الفاتورة رقم الزبون إسم المادة حجم المادة 1 2025-03-01 1001 سردين 1000غ 8 2025-03-01 1001 سردين 1000غ 12 2025-03-01 1006 جبن 500غ 13 2025-02-20 1006 جبن 500غ 14 2025-01-01 1006 جبن 500غ 15 2024-12-01 1006 جبن 500غ تم تعديل منذ 7 ساعات بواسطه RAIANESAMI
تمت الإجابة Foksh قام بنشر منذ 7 ساعات تمت الإجابة قام بنشر منذ 7 ساعات 2 دقائق مضت, RAIANESAMI said: ربما في متال الاخير هو الانسب وهذا هو الاستعلام أخي الكريم :- SELECT t1.* FROM test AS t1 INNER JOIN (SELECT a.[رقم الزبون], a.[إسم المادة], a.[حجم المادة] FROM test AS a INNER JOIN ( SELECT [رقم الزبون], [إسم المادة], [حجم المادة], MAX([تاريخ الفاتورة]) AS MaxDate FROM test GROUP BY [رقم الزبون], [إسم المادة], [حجم المادة] ) AS b ON a.[رقم الزبون] = b.[رقم الزبون] AND a.[إسم المادة] = b.[إسم المادة] AND a.[حجم المادة] = b.[حجم المادة] WHERE a.[تاريخ الفاتورة] >= DateAdd("m", -3, b.MaxDate) GROUP BY a.[رقم الزبون], a.[إسم المادة], a.[حجم المادة] HAVING COUNT(*) > 1 ) AS t2 ON (t1.[حجم المادة] = t2.[حجم المادة]) AND (t1.[إسم المادة] = t2.[إسم المادة]) AND (t1.[رقم الزبون] = t2.[رقم الزبون]) WHERE (((t1.[تاريخ الفاتورة])>=DateAdd("m",-3,(SELECT MAX(x.[تاريخ الفاتورة]) FROM test AS x WHERE x.[رقم الزبون] = t1.[رقم الزبون] AND x.[إسم المادة] = t1.[إسم المادة] AND x.[حجم المادة] = t1.[حجم المادة] )))); رغم أنني سأكرر عليك ما تم الإشارة إليه في الكثير من المواضيع ، وهي استعمالك للأسماء العربية في الحقول و أسماء الجداول ... إلخ من مكونات قاعدة البيانات .
Foksh قام بنشر منذ 7 ساعات قام بنشر منذ 7 ساعات الان, RAIANESAMI said: مشكور اخي Foksh العفو أخي الكريم ..
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.