بتاريخ: 16 يونيو 201312 سنة comment_237519 لو سمحتوا يا جماعة انا عندى جدول واحد فيه بيانات اشتراكات لمشتركين الشركة وتشمل بداية الاشتراك ونهايته يعنى ممكن شخص واحد يبقى عنده اكتر من اشتراك بتواريخ مختلفة لكن كل شخص مميز برقم شخصى وكل اشتراك له رقم مميز . المطلوب : معرفة عدد المشتركين الذين لهم اشتراكات فعالة خلال سنة 2012 ومعرفة المشتركين الذين كان لهم اشتراك فعال خلال 2012 ولم يجدد الاشتراك يعنى لم يحصل على اشتراك جديد خلال 5 اشهر من تاريخ نهاية الاشتراك بتاعه الذى كان مفعل خلال 2012. رجاء السرعة فى الرد تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة كاتب الموضوع comment_237524 طيب هى دى الاعمدة اللى فى الجدول المهمة والباقى ماله علاقة بالموضوع : ( SU_SUB_NO NUMBER(12), SU_MEMBER_NO VARCHAR2(12 BYTE) NOT NULL, SU_ACT_START_DATE DATE, SU_ACT_END_DATE DATE, ) su_sub_no هو رقم الاشتراك وsu_member_no هو رقم المشترك والباقى كما هو واضح. المطلوب انى احصل على المشترك اللذين كان لهم اشتراك فعال خلال 2012 ولم يجدد الاشتراك بعد 5 اشهر من تاريخ نهاية الاشتراك بحد اقصى 31/5/2013 يعنى من الاخر المشترك الذى فقدته الشركة تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة comment_237525 السلام عليكم وكيف تعرف من خلال الجدول أن المشترك حاليا فعال أم لا ؟ هل عن طريق عمود SU_ACT_END_DATE ام يوجد Flag ؟ وكيف يتم تجديد الإشتراك ؟ تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة كاتب الموضوع comment_237526 لا ياعزيزى عن طريق نهاية الاشتراك ولا يوجد فلاج على الاشتراك بعملية منطقية بسيطة ان الاشتراك الذى تاريخ انتهائه يقع فى اثناء السنة بناء على ان اقصى مدة اشترام مسموح بها هى سنة واحدة فقط تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة comment_237528 السلام عليكم لمعرفة المشتركين الفعالين خلال سنة 2012: -- All active subscribers during the year 2012 SELECT COUNT (su_member_no) no_of_active_subscribers FROM your_table WHERE TO_CHAR (su_act_start_date, 'yyyy') = '2012' AND su_act_end_date IS NULL ولكن كيف تقوم بتجديد الإشتراك ؟ تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة كاتب الموضوع comment_237529 نفس رقم العضو ياخذ رقم اشتراك جديد بتاريخ بداية ونهاية جديدين تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة comment_237531 السلام عليكم جرب هذه الطريقة: -- Subscribers who had them participate effectively in 2012 and did not renew the subscription SELECT su_sub_no FROM your_table WHERE TO_CHAR (su_act_start_date, 'yyyy') = '2012' AND ADD_MONTHS (TRUNC (su_act_end_date), 5) > TRUNC (SYSDATE) تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة كاتب الموضوع comment_237540 يا عزيزى المعيار هو نهاية الاشتراك الخاص به وليس تاريخ السيتم بمعنى انى اريد ان اقارن بين تاريخ انتهاء الاشتراك الخاص بكل مشترك وبعده بخمسة اشهر وهل له اشتراك جديد فى هذه المدة ام لا وانا اريد تحديدا اللذين ليس لديهم اشتراك فى هذه المدة تقديم بلاغ
بتاريخ: 16 يونيو 201312 سنة comment_237548 السلام عليكم لمعرفة المشتركين الفعالين خلال سنة 2012: -- All active subscribers during the year 2012 SELECT COUNT (su_member_no) no_of_active_subscribers FROM your_table WHERE TO_CHAR (su_act_start_date, 'yyyy') = '2012' AND su_act_end_date IS NULL السلام عليكم بخصوص المشتركين الفعالين في 2012 يوجد ملاحظة و هي انه ممكن يكون مشترك بدأ في 2011 و انتهي الاشتراك في 2012 و بذلك يكون من ضمن العدد في 2012 أيضا لذلك يجب ايضا المقارنة مع تاريخ النهاية بالشكل التالي SELECT COUNT (su_member_no) no_of_active_subscribers FROM your_table WHERE ( to_char(su_act_start_date, 'yyyy') = '2012' or to_char ( SU_ACT_END_DATE , 'yyyy') = '2012' ) و لا داعي من إضافة الشرط AND su_act_end_date IS NULL لانك تريد المقارنة بسنة معينه يعني ممكن يكون اشتراكات مثلا 2009 و انتهت بالفعل فعاليتها تقديم بلاغ
بتاريخ: 17 يونيو 201312 سنة comment_237567 السلام عليكم لمعرفة المشتركين الفعالين خلال سنة 2012: -- All active subscribers during the year 2012 SELECT COUNT (su_member_no) no_of_active_subscribers FROM your_table WHERE TO_CHAR (su_act_start_date, 'yyyy') = '2012' AND su_act_end_date IS NULL السلام عليكم بخصوص المشتركين الفعالين في 2012 يوجد ملاحظة و هي انه ممكن يكون مشترك بدأ في 2011 و انتهي الاشتراك في 2012 و بذلك يكون من ضمن العدد في 2012 أيضا لذلك يجب ايضا المقارنة مع تاريخ النهاية بالشكل التالي SELECT COUNT (su_member_no) no_of_active_subscribers FROM your_table WHERE ( to_char(su_act_start_date, 'yyyy') = '2012' or to_char ( SU_ACT_END_DATE , 'yyyy') = '2012' ) و لا داعي من إضافة الشرط AND su_act_end_date IS NULL لانك تريد المقارنة بسنة معينه يعني ممكن يكون اشتراكات مثلا 2009 و انتهت بالفعل فعاليتها السلام عليكم كلام غير صحيح...لانه اذا كان الحقل SU_ACT_END_DATE يحتوي على تاريخ معين فهذا يعني ان الاشتراك منتهي.... تقديم بلاغ
بتاريخ: 17 يونيو 201312 سنة comment_237569 السلام عليكم حسب ما ذكر الأخ في المشاركة رقم 7 ان تاريخ البدايه و النهايه يتم ادخالهم من البداية عند الاشتراك لذلك وجود تاريخ النهايه ليس معناه نهايه الاشتراك و لكن نهايه الاشتراك هو بمقارنه تاريخ انتهاء الإشتراك بالسنة المطلوبة شيئ أخر لنفرض اننا نريد المشتركين لسنه منتهية بالفعل غير 2012 كيف ستعتمد علي SU_ACT_END_DATE انه Null تقديم بلاغ
بتاريخ: 17 يونيو 201312 سنة comment_237570 السلام عليكم اذا اردت استخراج المشتركين المنتهية اشتراكاتهم فيجب التشييك على ان يكون SU_ACT_END_DATE = Not Null تقديم بلاغ
بتاريخ: 17 يونيو 201312 سنة comment_237572 نفس رقم العضو ياخذ رقم اشتراك جديد بتاريخ بداية ونهاية جديدين السلام عليكم هذا ما أقصده ان تاريخ البداية و النهايه يتم ادخالهم مع عملية ادخال بيانات الاشتراك من البداية و لا نترك SU_ACT_END_DATE حتي انتهاء الاشتراك و مش حنختلف سواء كان يتم ادخاله من البداية أو يتم ترك القيمة Null حتى نهايه الاشتراك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.