بتاريخ: 6 أبريل 200818 سنة comment_126129 [يمين]I have table a and b [يسار]I need to update b.Colum1=a.colum1 where b.coulom2=a.coulum2I cannot use this query UPDATE customers cSET sales_rep_id= (SELECT manager_id FROM employees WHERE surname=c.contact_surname AND firstname=c.contact_firstname AND date_of_birth=c.date_of_birth) WHERE (contact_surname,contact_firstname,date_of_birth) IN (SELECT surname,firstname,date_of_birth FROM employees) (its from TOAD help) [/يمين][/يسار] تقديم بلاغ
بتاريخ: 17 أبريل 200818 سنة comment_126904 بسم الله الرحمن الرحيم بامكانك استخدام جملة merge وهذا مثال على الاستخدام..حيث تمكنك من عمل اضافة في حال عدم وجوده وفي حال وجود السجل سابقا يقوم بالتعديل عل[يمين][/يمين]يه : MERGE INTO bonuses D-- الجدول المراد الاضافة عليه USING (SELECT employee_id, salary, department_id FROM employees--الجدول المراد القراءة منه WHERE department_id = 80) S ON (D.employee_id = S.employee_id) WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 -- في حال وجود السجل سابقا DELETE WHERE (S.salary > 8000) WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus) في حال عدم وجود السجل من قبل في هذا الجدول VALUES (S.employee_id, S.salary*0.1) WHERE (S.salary <= 8000); وبالله التوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.