بتاريخ: 25 أبريل 200916 سنة comment_154749 السلام عليكماخواني ... لدي سؤال بسيط وهو اول مشاركة لي بالمنتدىاريد ان اقارن بين تاريخين و ايجاد الاكبر بينهمولكم جزيل الشكر تقديم بلاغ
بتاريخ: 25 أبريل 200916 سنة comment_154752 السلام عليكم... تتم عملية المقارنة بشكل مباشر: SQL> select ename,hiredate from emp where hiredate<to_date('18 12 1980','dd mm yyyy') 2 / ENAME HIREDATE ---------- --------- SMITH 17-DEC-80 تم تحويل السلسلة إلى تاريخ لأنها لا تتطابق مع الفورمات الخاص بالتاريخ DD-MON-RR , المثال التالي يبين عملية المقارنة مع قيم تطابق الفورمات القياسي فلا حاجة لتحويلها: SQL> select ename,hiredate from emp where hiredate<'18-DEC-80' 2 / ENAME HIREDATE ---------- --------- SMITH 17-DEC-80 تقديم بلاغ
بتاريخ: 25 أبريل 200916 سنة comment_154753 أخي الحبيب troman أعتقد أن الاخ يقصد أن المتغيريين مجهولين محتاجين عمل block pl/sqlعفوا أعتقد هذا مايقصد الاخ ليس إلا تقديم بلاغ
بتاريخ: 25 أبريل 200916 سنة comment_154755 جزاك الله خيراً أخي mustafagamiel على التنبيه,ولكن في هذه الحالة يجب تحديد الفورمات المدخل من قبل المستخدم , هذا المثال يوضح حالتين التاريخ الأول يدخل بصيغة غير قياسية والثاني يدخل بصيغة قياسية : declare Pd1 date:=to_date('&Date1','dd mm yyyy'); Pd2 date:='&Date2'; begin if Pd1>Pd2 then dbms_output.put_line('Date1>Date2'); elsif Pd1<Pd2 then dbms_output.put_line('Date1>Date2'); else dbms_output.put_line('Date1 Equal Date2'); end if; end; / أتمنى أن يكون هذا ما قصده الأخ بسؤاله... تم تعديل 25 أبريل 200916 سنة بواسطة TROYMAN تقديم بلاغ
بتاريخ: 25 أبريل 200916 سنة comment_154756 تستحق التحية يا TROYMAN على مجهوداتك جزاك الله كل خير تقديم بلاغ
بتاريخ: 25 أبريل 200916 سنة كاتب الموضوع comment_154761 شكرا لكم اخواني الاعزاءواسف على قلت التوضيحبس طلبي هو انة لدي DB مدخل فيها التواريخواريد ايجاد الاكبر من بين هذة التوايخوللتوضيح اكثر فاكثرفانة لدي DB فيها البينات التاليةname Date Cust_code------ --------|-----------------------|---------------------------Ali 20\12\2009 c2020yousef 12\12\2009 c2430Ali 22\1\2009 c2020Ahmed 20\12\2009 c2000Ali 06\11\2007 c2020كما ترون لدي اسم الشخص ( علي ) مكرر 3 مرات و لدي الكثير مثل هذا التكرار بال DBوقدرت ان احصر عدد الاشخاص الذين لديهم تكرار بال DBولكن الان لدي مشكلة ... وهي ان التكرارات ( للشخص الواحد ) بتواريخ مختلفة , فاريد Query تعمل على جلب اخر تاريخ لكل التكرارات الموجودة بالاسماء التي قمت بحصرها قبل ذلكوشاكر لكم سرعة الرد .. و اسف على قلت التوضيح باول مرة . تقديم بلاغ
بتاريخ: 25 أبريل 200916 سنة comment_154762 مسا الخير...الحل بسيط باستخدام Group by select name,max(Date) from TableName group by name; تقديم بلاغ
بتاريخ: 26 أبريل 200916 سنة كاتب الموضوع comment_154773 السلام عليكمشكرا لك اخي العزيز على سرعى الرد ولكن ال MAX تاتيني بأكبر تاريخ لكافة الاسماء .. و انا اريدها لكل شخص لة تكرار فقط بمعني اخر :لدي Ali ثلاث تواريخ و لدى MOhamed تاريخينولدى Salim اربع تواريخفانا اريد ان اكتب Query تاتي لي بأكبر تاريخ لكل شخص منهمولا اريد ان اطبق ال MAX على كل شخص على حدى واتمنى ان تكون الفكرة و صلت لكم تقديم بلاغ
بتاريخ: 26 أبريل 200916 سنة comment_154774 إذن زود having على ماسبقزي كده select name,max(Date) from TableName group by name having count(name)>1; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.