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

แบบสอบถาม MySQL เพื่อเพิ่มราคามูลค่ารายการสำหรับหลายรายการในแบบสอบถามเดียว?


ในการเพิ่มมูลค่ารายการสำหรับหลายรายการในแบบสอบถามเดียว คุณสามารถใช้คำสั่ง 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 วินาที)