إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

ممكن اعرف وين الخطا في هذا الكود


2 رد (ردود) على هذا الموضوع

#1 the_smart

the_smart

    عضو

  • الأعضــاء
  • 7 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 August 2007 - 10:04 AM

SELECT A.MONTH FROM ORDERS A
WHERE A.ORDER_DATE BETWEEN '01-AUG-07' AND '30-AUG-07'
AND A.CUSTOMER_ID='MA'
AND A.MONTH NOT EXISTS (SELECT B.MONTH FROM TMS_ORDERS B
WHERE SUBSTR(A.MONTH,9)= B.MONTH)

WHEN I RUN THIS CODE THIS (ORA-00920:INVALID RELATIONAL OPERATOR)

MONTH
AUG2007N2929
AUG2007N2930
AUG2007N2931
2790
2900
2856
القصد من هذا الكود اريد اشيك على اخر اربع ارقام منAUG2007N2929 اذا موجود من دونAUG2007N في نفس الكلوم ويعطني النتيجة علما بان هناك الكثير من الارقام

ارجو ان يكون الشرح واضح

ولكم مني جزيل الشكر

#2 hassan978hmk

hassan978hmk

    مشترك

  • الأعضــاء
  • 90 مشاركة

تاريخ المشاركة 20 August 2007 - 10:29 AM

قبل EXISTS أو NOT EXISTS لا يجوز وضع اسم عمود بل كما يلي :
.....WHERE NOT EXISTS........
أو
.......AND EXISTS.........
بالنسبة لحالتك يجب استخدام NOT IN كما يلي :
AND A.MONTH NOT IN (SELECT B.MONTH FROM TMS_ORDERS B
WHERE SUBSTR(A.MONTH,9)= B.MONTH)

بالتوفيق
طوبىّ لِمن إذا أُنعمَ عليه شكَر , وإذا ابتليَ صبَر , وإذا أذنَبَ استغفر , وإذا غضبَ حَلِم , وإذا حكَمَ عدَل

صورة

#3 the_smart

the_smart

    عضو

  • الأعضــاء
  • 7 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 August 2007 - 11:36 AM

تشكر الحبيب على السرعة رد
وعلى المعلومة بس (NOT IN)
ليست مثل (NOT EXISTS)
وتقدر تجرب وتشوف

شكر