ในการเพิ่มมูลค่ารายการสำหรับหลายรายการในแบบสอบถามเดียว คุณสามารถใช้คำสั่ง CASE ใน MySQL ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable -> ( -> ProductName varchar(20), -> ProductPrice int -> );Query OK, 0 แถวได้รับผลกระทบ (0.51 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable ('Product-1',700) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('Product-2',1000); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ('Product-3',3000); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------------+--------------+| ชื่อสินค้า | ราคาสินค้า |+-------------+--------------+| สินค้า-1 | 700 || สินค้า-2 | 1000 || สินค้า-3 | 3000 |+-------------+-------------+3 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถาม MySQL เพื่อเพิ่มราคามูลค่ารายการสำหรับหลายรายการ -
mysql> อัปเดต DemoTable -> ตั้งค่า ProductPrice=-> case เมื่อ ProductName='Product-1' แล้ว ProductPrice+((ProductPrice*20)/100) -> เมื่อ ProductName='Product-2' จากนั้น ProductPrice+((ProductPrice* 40)/100) -> เมื่อ ProductName='Product-3' จากนั้น ProductPrice+((ProductPrice*60)/100) -> end;Query OK ได้รับผลกระทบ 3 แถว (0.14 วินาที) แถวที่ตรงกัน:3 เปลี่ยนแล้ว:3 คำเตือน:0
ให้เราตรวจสอบบันทึกตารางอีกครั้ง -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------------+--------------+| ชื่อสินค้า | ราคาสินค้า |+-------------+--------------+| สินค้า-1 | 840 || สินค้า-2 | 1400 || สินค้า-3 | 4800 |+-------------+-------------+3 แถวในชุด (0.00 วินาที)