Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL เลือกฟิลด์ใดฟิลด์หนึ่งจากสองฟิลด์เทียบกับค่าของฟิลด์ที่สาม?


สำหรับสิ่งนี้ ให้ใช้ IF() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> PlayerName varchar(100), -> PlayerScore int, -> PlayerStatus varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('John',88,'BAD');Query OK, 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable ('Chris',78,'BAD');Query ตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)mysql> แทรกลงในค่า DemoTable ('Robert',90,'BAD');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable ('David',80, 'BAD');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.23 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

ผลลัพธ์

<ก่อนหน้า>+-----------+-------------+------------+| ชื่อผู้เล่น | คะแนนผู้เล่น | สถานะผู้เล่น |+------------+-------------+------------+| จอห์น | 88 | แย่ || คริส | 78 | แย่ || โรเบิร์ต | 90 | แย่ || เดวิด | 80 | BAD |+------------+-------------+--------------+4 แถวในชุด ( 0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกฟิลด์ใดฟิลด์หนึ่งจากสองฟิลด์ที่เกี่ยวกับค่าของฟิลด์ที่สาม -

mysql> เลือก PlayerScore,if(PlayerScore> 80 , PlayerName ,PlayerStatus) เป็นผลลัพธ์จาก DemoTable;

ผลลัพธ์

<ก่อนหน้า>+-------------+-------+| คะแนนผู้เล่น | ผลลัพธ์ |+-------------+-------+| 88 | จอห์น || 78 | แย่ || 90 | โรเบิร์ต || 80 | BAD |+-------------+-------+4 แถวในชุด (0.00 วินาที)