بتاريخ: 3 سبتمبر 201015 سنة comment_199582 السلام عليكمعندي 2 جداول الأول جدول الزبائن CLIENTو الثاني جدول الفواتير FACTUREجدول الفواتير يتضمن الزبائن CODE_CLI و الشخص المسؤول CODE_GEST , و الفاتورة CODE_FACT و الأيام DATEعندي في هذا الجدول مجموعة من lines تضم نفس CODE_CLI و CODE_FACT و لكن ب CODE_GEST و DATE مختلفةالجدول الأول يتضمن CLI_CODE_GEST و CODE_CLIENTأود أن أعمل UPDATE على الجدول CLIENTلكي أستطيع أن أعطي ل CLI_CODE_GEST الشخص المسؤول CODE_GEST ذو أول (أقدم) تاريخ DATEفعلتها على الشكل التاليUPDATE CLIENT SET CLI_CODE_GEST = (select CODE_GEST from FACTURE where CODE_CLI=CODE_CLIENT and DATE in (select min(DATE) from FACTURE where CODE_CLI=CODE_CLIENT group by CODE_CLI))المشكلة في الرسالةORA-01427 Sous-interrogation ramenant plusieurs lignes تقديم بلاغ
بتاريخ: 5 سبتمبر 201015 سنة comment_199669 السلام عليكم مشكله حضرتك ان جمله ال Update ال select الفيها بتجيب اكتر من rowعلشان كده بيظهر الخطأ ده وعلى قد ما فهمت من شرحك لو الزبون لي فاتورتين في نفس اليوم وبفرض كمان ان CODE_GESTمختلف في الفاتورتين فأكيد هيظهر الخطأ ده تقديم بلاغ
بتاريخ: 6 سبتمبر 201015 سنة كاتب الموضوع comment_199690 و عليكم السلاممن جوابك فهمت خطئيلكن كيف يمكن لي أن أتفادى هذا المشكليعني كيف يمكن لي أن اجيب سطر واحد من "لو الزبون لي فاتورتين في نفس اليوم وبفرض كمان ان CODE_GESTمختلف في الفاتورتين"؟؟؟ تقديم بلاغ
بتاريخ: 6 سبتمبر 201015 سنة comment_199697 ممكن تزودي في ال subqueryand rownum=1كده هيجبلك واحد بسبس على فكره على الفهمته تركيبه الجدولين كده مش صح تقديم بلاغ
بتاريخ: 6 سبتمبر 201015 سنة كاتب الموضوع comment_199698 مفهمتش كيف اعملها يعني اين أضيف rownum تقديم بلاغ
بتاريخ: 6 سبتمبر 201015 سنة comment_199699 UPDATE CLIENT SET CLI_CODE_GEST = (select CODE_GEST from FACTUREwhere CODE_CLI=CODE_CLIENT and DATE in (select min(DATE)from FACTURE where CODE_CLI=CODE_CLIENTgroup by CODE_CLI)and rownum=1) تقديم بلاغ
بتاريخ: 6 سبتمبر 201015 سنة كاتب الموضوع comment_199701 شكرالكن وجدت مشكلة أخرى Impossible de mettre à jour CLI_CODE_GEST avec NULLعملت هذا الكود UPDATE CLIENT SET CLI_CODE_GEST = (select CODE_GEST from FACTUREwhere CODE_CLI=CODE_CLIENT and CODE_GEST is not null and DATE in (select min(DATE)from FACTURE where CODE_CLI=CODE_CLIENTgroup by CODE_CLI)and rownum=1)يعطيني نفس المساج تقديم بلاغ
بتاريخ: 7 سبتمبر 201015 سنة comment_199726 ;كده مشكلتك ان ال rowالجه قيمه CODE_GEST الفيه ب null واكيد CLI_CODE_GEST not null فظهرت المشكله دى وعشان تستبعدي ال rows الفيها ال nullزودي UPDATE CLIENT SET CLI_CODE_GEST = (select CODE_GEST from FACTUREwhere CODE_CLI=CODE_CLIENT and CODE_GEST is not null and DATE in (select min(DATE)from FACTURE where CODE_CLI=CODE_CLIENTgroup by CODE_CLI)and rownum=1and CODE_GEST is not null )بس زي ماقلتلك فكره الجدولين كده مش مظبوطه حاوبى تشرحي انت عايزه تعملي ايه يمكن يكون في حاجه احسن تقديم بلاغ
بتاريخ: 7 سبتمبر 201015 سنة كاتب الموضوع comment_199731 ;كده مشكلتك ان ال rowالجه قيمه CODE_GEST الفيه ب null واكيد CLI_CODE_GEST not null فظهرت المشكله دى وعشان تستبعدي ال rows الفيها ال nullزودي UPDATE CLIENT SET CLI_CODE_GEST = (select CODE_GEST from FACTUREwhere CODE_CLI=CODE_CLIENT and CODE_GEST is not null and DATE in (select min(DATE)from FACTURE where CODE_CLI=CODE_CLIENTgroup by CODE_CLI)and rownum=1and CODE_GEST is not null )بس زي ماقلتلك فكره الجدولين كده مش مظبوطه حاوبى تشرحي انت عايزه تعملي ايه يمكن يكون في حاجه احسن نفس المشكلة و نفس المساج أختي سارةالجدولين عندي من الاول يعني مفروضين عليا استعملهمانا عاوزة اخر تاريخ للفاتورة اعطيه للزبون في جدول CLIENT تقديم بلاغ
بتاريخ: 8 سبتمبر 201015 سنة comment_199774 معلش انا مأخدتش بالي انك اصلا حاطه الشرط ده بس هو كده فعلا ماجبش ال row الفيه CODE_GEST ب nullوالمشكله دى ظهرت تانى لان الsubquery ماجبش اي row فأعتبر القيمه nullجربي كده UPDATE CLIENT SET CLI_CODE_GEST = (select NVL(CODE_GEST,CLI_CODE_GEST) from FACTURE where CODE_CLI=CODE_CLIENT and DATE in (select min(DATE) from FACTURE where CODE_CLI=CODE_CLIENT group by CODE_CLI) and rownum=1 ) كده لو قيمه CODE_GEST ب NULL هيسيب CLI_CODE_GEST زي ما هي تقديم بلاغ
بتاريخ: 8 سبتمبر 201015 سنة كاتب الموضوع comment_199781 معلش انا مأخدتش بالي انك اصلا حاطه الشرط ده بس هو كده فعلا ماجبش ال row الفيه CODE_GEST ب nullوالمشكله دى ظهرت تانى لان الsubquery ماجبش اي row فأعتبر القيمه nullجربي كدهUPDATE CLIENT SET CLI_CODE_GEST = (select NVL(CODE_GEST,CLI_CODE_GEST) from FACTURE where CODE_CLI=CODE_CLIENT and DATE in (select min(DATE) from FACTURE where CODE_CLI=CODE_CLIENT group by CODE_CLI) and rownum=1 ) كده لو قيمه CODE_GEST ب NULL هيسيب CLI_CODE_GEST زي ما هي شكرا جربت الكود لكن نفس الميساج كده احترت و مش عارفة اعمل ايه تم تعديل 8 سبتمبر 201015 سنة بواسطة amal4u تقديم بلاغ
بتاريخ: 8 سبتمبر 201015 سنة comment_199788 UPDATE CLIENT SET CLI_CODE_GEST = (select NVL(CODE_GEST,CLI_CODE_GEST) from FACTUR where CODE_CLI=CODE_CLIENT and DATE in (select min(DATE) from FACTUR where CODE_CLI=CODE_CLIENT and CODE_GEST is not null ) and CODE_GEST is not null and rownum=1 ) where CODE_CLIENT in (select CODE_CLI from FACTUR where CODE_CLI=CODE_CLIENT and Date in (select min(Date) from FACTUR where CODE_CLI=CODE_CLIENT and CODE_GEST is not null ) and rownum=1 and CODE_GEST is not null ) تقديم بلاغ
بتاريخ: 8 سبتمبر 201015 سنة كاتب الموضوع comment_199790 شكرا على مجهودكعمل الكود معي بطريقة فعالةاشكرك كثيرا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.