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

اريد تحديث بعض البيانات من الجدول الثاني ببيانات من الجدول الاول


Yousef_Elkordi

Recommended Posts

السلام عليكم

اخواني .. لدي DB بهال 2 tabels الجدول الاول فية بيانات العملاء و ارقامهم .. وقمت بإستخراج كمية من البيانات من الجدول الاول ( 50 اسم ) .. عن طريق كويري .. و لم احفظها باي جدول جديد

ولدي الجدول الثاني فية ايضا بيانات العملاء و ارقامهم ...
الان المشكلة اني اريد ان اعدل بيانات الجدول الثاني ...اي ان اقوم بعمل update لبيانات الجدول الثاني .. على حسب الناتج من الجدول الاول

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

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

للتوضيح ... انا لا اريد ان اعمل دليت لاي شي من البيانات من الجدول الثاني .. انا اريد تحديث بعض البيانات من الجدول الثاني ببيانات من الجدول الاول
مثال :

table 1
----------------------------------------------------------------
cust_code - cust name - loc
----------------------------------------------------------------
c200 - Salim - Egypt
c400 - Marwan - UK
c600 - Yousef - USA
c500 - Ali - Amman

و الجدول الثاني فية نفس الحقول بس فيهم كمان شوي زيادات .. مثل العمر و العمل و هكذا
و بعض البيانات مختلفة .

table 2
---------------------------------------------------------------------------------
cust_code - Age - cust name - loc
---------------------------------------------------------------------------------
c200 - 22 - Salim - Egypt
c400 - 25 - Marwan - Yaman
c600 - 35 - Yousef - Kuwait
c500 - 30 - Ali - Amman

لان لو تلاحظو ... الاسمين yousef و marwan بالجدول الاول فيهم ال location مختلف عن بعض ....

الان .. انا قمت بكتابة كويري ... قمت عن طريقها باخراج البيانات المختلفة من الجدول الاول ... و اريد فقط تبديل هذة البيانات المختلفة من الجدول الاول .. بالجدول الثاني .. فما هو الحل ...!!!

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

أخي الكريم
السلام عليكم ورحمة الله وبركاته
قرأت لك المشاركة السابقة في منتدى ال pl/sql
وتريد عملها بدون كود pl/sql
راجع merge statement
وحاول تستخدمها مادمت لاتريد استخدام ال pl/sql code

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

اخي العزيز .. استخدمت الكود التالي ... ولكني اواجة مشكلة فية

update OM_CUSTOMER_BACKUP set CUST_FLEX_03 = (select SHO_SHOWROOMNO from OM_CUSTOMER_REP where OM_CUSTOMER_BACKUP.CUST_CODE = OM_CUSTOMER_REP.OCST_CUST_CODE and OM_CUSTOMER_BACKUP.CUST_FLEX_03 is not null)
where CUST_CODE in (select OM_CUSTOMER_REP.OCST_CUST_CODE from OM_CUSTOMER_REP where OM_CUSTOMER_BACKUP.CUST_FLEX_03 is not null )



المشكلة هي انو بالجملة

CUST_FLEX_03 = (select SHO_SHOWROOMNO from OM_CUSTOMER_REP where OM_CUSTOMER_BACKUP.CUST_CODE = OM_CUSTOMER_REP.OCST_CUST_CODE and OM_CUSTOMER_BACKUP.CUST_FLEX_03 is not null



ال SELECT ترجع اكثر ريكورد ... فيعطيني خطأ
فما الحل ؟

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

اخي العزيز ... للاسف .. لم استطع الاستفادة من الرابط ..:)

الرجاء إذا كان بالامكان اخباري ما الخطأ بالكود الذي كتبة؟؟
او مساعدتي باي شكل ممكن ؟

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

السلام عليكم .. جربت الجملة الاتية ..

merge into table_dest d
using
table_source s on (s.id = d.id)
when matched then update set d.txt = s.txt
when not matched then insert (id, txt) values (s.id, s.txt);
select * from table_dest; ID TXT



ولكن هناك مشكلة بال when ??
يعترض عليها ال sql
اعتقد لانها pl sql
?
وشكرا لكم كل الشكر

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

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

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

×   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

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

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

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية