কম্পিউটার টিউটোরিয়াল

MySQL-এ CASE স্টেটমেন্ট ব্যবহার করে একক কোয়েরিতে একাধিক পণ্যের দাম আপডেট

MySQL-এ CASE স্টেটমেন্ট UPDATE কোয়েরির মধ্যে ব্যবহার করে একাধিক পণ্যের দাম ভিন্ন-भিন্ন হারেই একবারে বাড়ানো যায়। এটি বারবার কোয়েরি চালানোর প্রয়োজনীয়তা দূর করে।

উদাহরণ

১. টেবিল তৈরি করুন

mysql> CREATE TABLE DemoTable (
    -> ProductName VARCHAR(20),
    -> ProductPrice INT
    -> );

২. ডেটা ইনসার্ট করুন

mysql> INSERT INTO DemoTable VALUES('Product-1', 700);
mysql> INSERT INTO DemoTable VALUES('Product-2', 1000);
mysql> INSERT INTO DemoTable VALUES('Product-3', 3000);

৩. বর্তমান দাম দেখুন

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------------+--------------+
| ProductName | ProductPrice |
+-------------+--------------+
| Product-1   | 700          |
| Product-2   | 1000         |
| Product-3   | 3000         |
+-------------+--------------+

৪. CASE ব্যবহার করে দাম আপডেট করুন

mysql> UPDATE DemoTable
    -> SET ProductPrice = CASE
    ->     WHEN ProductName = 'Product-1' THEN ProductPrice + (ProductPrice * 20 / 100)
    ->     WHEN ProductName = 'Product-2' THEN ProductPrice + (ProductPrice * 40 / 100)
    ->     WHEN ProductName = 'Product-3' THEN ProductPrice + (ProductPrice * 60 / 100)
    -> END;

৫. আপডেট হওয়া দাম দেখুন

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------------+--------------+
| ProductName | ProductPrice |
+-------------+--------------+
| Product-1   | 840          |  (700 + 20%)
| Product-2   | 1400         |  (1000 + 40%)
| Product-3   | 4800         |  (3000 + 60%)
+-------------+--------------+

লক্ষ্য করুন: প্রতিটি পণ্যের জন্য ভিন্ন পারসেন্টেজ বৃদ্ধি একই কোয়েরিতে করা হয়েছে। ELSE ক্লজ ব্যবহার না করলে মিল না পেলে মান NULL হবে, তাই সাবধানে শর্ত লিখুন।

  1. MySQL-এ GREATEST() দিয়ে একাধিক কলাম একসাথে সর্ট করা

  2. MySQL-এ BETWEEN অপারেটর ব্যবহার করে একাধিক ইনপুটের জন্য একই কোয়েরিতে মান বের করা

  3. MySQL-এ একাধিক কলাম একসাথে আপডেট করা (সিঙ্গল কুয়েরি)

  4. MySQL에서 SUM(조건)으로 특정 값 카운트 한 번에 여러 개 구하기