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

MySQL-এ ভ্যালু ০ হলে অন্য কলাম থেকে ডেটা সিলেক্ট করা

MySQL-এ যদি কোনো কলামের মান ০ হয়, তবে অন্য কলাম থেকে মান নেওয়ার জন্য IF() ফাংশন ব্যবহার করা হয়।

সিনট্যাক্স

SELECT IF(yourColumnName1 = 0, yourColumnName2, yourColumnName1) AS anyAliasName FROM yourTableName;

উদাহরণ

নিচে একটি টেবিল তৈরি করা হয়েছে:

CREATE TABLE demo30 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    value INT,
    original_value INT
);

ডেটা ইনসার্ট:

INSERT INTO demo30(value, original_value) VALUES (50, 10);
INSERT INTO demo30(value, original_value) VALUES (1000, 0);
INSERT INTO demo30(value, original_value) VALUES (0, 40);
INSERT INTO demo30(value, original_value) VALUES (30, 0);

টেবিলের ডেটা:

+----+-------+----------------+
| id | value | original_value |
+----+-------+----------------+
| 1  | 50    | 10             |
| 2  | 1000  | 0              |
| 3  | 0     | 40             |
| 4  | 30    | 0              |
+----+-------+----------------+

কোয়েরি

original_value ০ হলে value কলাম থেকে মান নেওয়ার কোয়েরি:

SELECT id, IF(original_value = 0, value, original_value) AS Result FROM demo30;

আউটপুট

+----+--------+
| id | Result |
+----+--------+
| 1  | 10     |
| 2  | 1000   |
| 3  | 40     |
| 4  | 30     |
+----+--------+

ব্যাখ্যা: সারি ১-এ original_value ১০ (০ নয়), তাই সেটিই দেখাচ্ছে। সারি ২-এ original_value ০, তাই value কলামের ১০০০ দেখাচ্ছে। সারি ৩-এ value ০, তাই original_value ৪০ দেখাচ্ছে। সারি ৪-এ original_value ০, তাই value ৩০ দেখাচ্ছে।

  1. MySQL-এ REPLACE() ফাংশন ব্যবহার করে কলাম থেকে স্পেশাল ক্যারেক্টার রিপ্লেস করুন

  2. MySQL에서 ORDER BY RAND()와 LIMIT으로 랜덤 2개 행 선택하기

  3. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল ব্যবহার করে এক কলাম থেকে অন্য কলামের মান ডিরাইভ করা (রানিং টোটাল)

  4. MySQL-এ VARCHAR কলাম থেকে সর্বোচ্চ সংখ্যাগত মান বের করা