اذهب الي المحتوي
أوفيسنا

استعلام احدث تاريخ لكل عميل


husseinharby
إذهب إلى أفضل إجابة Solved by ابو جودي,

الردود الموصى بها

السلام عليكم

اريد البحث عن اخر مبلغ تم دفعة حسب التاريخ 

حيث انني اقوم بعمل تقرير خاص بدفعات العملاء يظهر به اسم العميل واخر دفعة نقدية تم دفعها ويظهر بجانبها اخر تاريخ

والصورة توضح ما اريده

 

 

Screenshot 2023-12-28 174713.png

Documents.rar

تم تعديل بواسطه husseinharby
رابط هذا التعليق
شارك

طلبلك مش واضح ياريت تقول انت عاوز تعمل ايه بالضبط

يعنى انت عاوز ايه بالتفصيل انت بخيل فى شرحك تتوقع تلاقى كرم فى الرد عليك ؟؟؟

رابط هذا التعليق
شارك

كلام حضرتك من غير تفصيل انا مش قادر احد عاوز اعلى قيمة واللا تبحث بمعايير محدده ؟؟

لو اعلى قيمة استحدم الاتى فى الاستعلام
 

SELECT Amount
FROM Table1
WHERE RegDate = (SELECT Max(RegDate) FROM Table1);


أو ممكن
 

SELECT TOP 1 Amount
FROM Table1
ORDER BY RegDate DESC;


 

رابط هذا التعليق
شارك

@ابو جودي

الاخ الكريم ابو جودي شكرا علي اهتمامك

لكي اوضح قصدي  

مااريده هو ان يظهر المبلغ الخاص بكل عميل علي حده حسب احدث تاريخ

وكما هو واضح في الصورة المرفقة 

رابط هذا التعليق
شارك

@ابو جودي

في انتظار ردك يا استاذي الفاضل

واشكر ايضا استاذ @Foksh علي اهتمامه

لكي اوضح اكثر  المطلوب هو اظهار اسم العميل والمبلغ المدفوع حسب احدث تاريخ وتجاهل التورايخ الاخري

رابط هذا التعليق
شارك

اتفضل
 

SELECT 
    t1.namee,
    t1.reg_date AS MaxDate,
    t1.amount
FROM 
    Table1 AS t1
WHERE 
    t1.reg_date = (
        SELECT MAX(t2.reg_date) 
        FROM Table1 AS t2 
        WHERE t2.namee = t1.namee
    );

 

الطريقة الثانيه

 

SELECT 
    t1.namee,
    t1.reg_date AS MaxDate,
    t1.amount
FROM 
    Table1 AS t1
WHERE 
    t1.reg_date = (
        SELECT TOP 1 t2.reg_date
        FROM Table1 AS t2
        WHERE t2.namee = t1.namee
        ORDER BY t2.reg_date DESC
    )
ORDER BY 
    t1.namee;

 

رابط هذا التعليق
شارك

طيب انا افضل الطريقة الثانية
 

SELECT 
    t1.namee,
    t1.reg_date AS MaxDate,
    t1.amount
FROM 
    Table1 AS t1
WHERE 
    t1.reg_date = (
        SELECT TOP 1 t2.reg_date
        FROM Table1 AS t2
        WHERE t2.namee = t1.namee
        ORDER BY t2.reg_date DESC
    )
ORDER BY 
    t1.namee;

 

 

وليه انا افضل هذه الطريقة

لانها أكثر مرونه حسب رغبات المصمم

يعنى مثلا ممكن عاوزين اعلى تاريخين لكل عميل تبقى جملة الاستعلام بالشكل الاتى
 

SELECT 
    t1.namee,
    t1.reg_date AS MaxDate,
    t1.amount
FROM 
    Table1 AS t1
WHERE 
    t1.reg_date IN (
        SELECT TOP 2 t2.reg_date
        FROM Table1 AS t2
        WHERE t2.namee = t1.namee
        ORDER BY t2.reg_date DESC
    )
ORDER BY 
    t1.namee, t1.reg_date DESC;

 

2 دقائق مضت, husseinharby said:

بارك الله فيك ابوجودي 

شكرا علي تعبك ومجهودك

وبارك الله فيكم وحفظكم :fff:

ولا داعى للشكر اهلا بكم :yes:

رابط هذا التعليق
شارك

  • ابو جودي changed the title to استعلام احدث تاريخ لكل عميل

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information