شرح صفوف ومحتوى الفقرة
يدعم MySQL صياغة قوية للتحديث متعدد الجداول UPDATE ... JOIN تتيح لك تعديل أعمدة جدول (أو حتى الجدولين المرتبطين معاً في نفس اللحظة) اعتماداً على قيم أو شروط موجودة في جدول آخر:
- ترتيب الجمل الخاص بـ MySQL: تُكتب جملة
INNER JOINأوLEFT JOINمباشرةً بعد اسم الجدول في جملةUPDATE، أي قبل كلمةSETعلى النحو:UPDATE t1 INNER JOIN t2 ON ... SET t1.col = .... - الحسابات العابرة للجداول: يمكنك إسناد قيمة عمود من الجدول الثاني مباشرة إلى عمود في الجدول الأول مثل
SET p.unit_price = s.promo_price.
SQL
-- Apply supplier discount rates to matching products via UPDATE JOIN
UPDATE products AS p
INNER JOIN suppliers AS s
ON p.supplier_id = s.supplier_id
SET p.unit_price = ROUND(p.unit_price * (1 - s.discount_rate), 2)
WHERE s.is_preferred = 1
AND p.is_active = 1;