এক টেবিলের মান অন্য টেবিলে যোগ করতে ইউজার-ডিফাইনড ভেরিয়েবল (@variable) ব্যবহার করুন। প্রথম টেবিল:
mysql> CREATE TABLE DemoTable1 (value INT); mysql> INSERT INTO DemoTable1 VALUES(10);
দ্বিতীয় টেবিল:
mysql> CREATE TABLE DemoTable2 (value1 INT); mysql> INSERT INTO DemoTable2 VALUES(50), (100);
প্রথম টেবিলের মান ভেরিয়েবলে নেওয়া এবং দ্বিতীয় টেবিলে যোগ করা:
mysql> SET @myValue = (SELECT value FROM DemoTable1); mysql> UPDATE DemoTable2 SET value1 = value1 + @myValue; Query OK, 2 rows affected (0.11 sec)
আপডেট হওয়া টেবিল চেক করুন:
mysql> SELECT * FROM DemoTable2;
আউটপুট:
+--------+ | value1 | +--------+ | 60 | | 110 | +--------+
ব্যাখ্যা:
SET @myValue = (SELECT ...): সাবকোয়েরির ফলাফল (১০) সেশন ভেরিয়েবলে স্টোর করা হয়েছে।UPDATE ... SET value1 = value1 + @myValue: প্রতিটি সারির value1-এ ১০ যোগ করা হয়েছে।
একক কোয়েরিতে (JOIN ব্যবহার করে):
UPDATE DemoTable2 d2 CROSS JOIN (SELECT value FROM DemoTable1) d1 SET d2.value1 = d2.value1 + d1.value;
এটি আরও স্ট্যান্ডার্ড এবং ভেরিয়েবল-ফ্রি। জয়েন কন্ডিশন না থাকলে CROSS JOIN (কার্টেশিয়ান প্রোডাক্ট) হয়, কিন্তু এখানে DemoTable1-এ ১ সারি আছে তাই ঠিক কাজ করে।