इसके लिए IF() फ़ंक्शन का उपयोग करें।
टेबल बनाएं
mysql> create table DemoTable (
-> PlayerName varchar(100),
-> PlayerScore int,
-> PlayerStatus varchar(100)
-> );
Query OK, 0 rows affected (0.58 sec)
रिकॉर्ड्स डालें
mysql> insert into DemoTable values('John',88,'BAD');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Chris',78,'BAD');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Robert',90,'BAD');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David',80,'BAD');
Query OK, 1 row affected (0.23 sec)
सभी रिकॉर्ड्स देखें
mysql> select * from DemoTable;
+------------+-------------+--------------+ | PlayerName | PlayerScore | PlayerStatus | +------------+-------------+--------------+ | John | 88 | BAD | | Chris | 78 | BAD | | Robert | 90 | BAD | | David | 80 | BAD | +------------+-------------+--------------+ 4 rows in set (0.00 sec)
तीसरे फ़ील्ड के आधार पर दो फ़ील्ड्स में से एक चुनने का क्वेरी
mysql> select PlayerScore, IF(PlayerScore > 80, PlayerName, PlayerStatus) AS Result from DemoTable;
आउटपुट:
+-------------+--------+ | PlayerScore | Result | +-------------+--------+ | 88 | John | | 78 | BAD | | 90 | Robert | | 80 | BAD | +-------------+--------+ 4 rows in set (0.00 sec)
व्याख्या:
IF(condition, true_value, false_value)- शर्त सत्य तो पहला, असत्य तो दूसराPlayerScore > 80- 80 से अधिक अंक- सत्य: PlayerName लौटाता है (John, Robert)
- असत्य: PlayerStatus लौटाता है (BAD)
- 80 सख्ती से अधिक नहीं, इसलिए BAD
संबंधित: CASE WHEN ... THEN ... ELSE ... END जटिल शर्तों के लिए।