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

การใช้ค่าของนามแฝงภายในคำสั่ง MySQL SELECT เดียวกัน


คุณไม่สามารถใช้นามแฝงใน SELECT ได้โดยตรง ให้ใช้ตัวแปรที่ผู้ใช้กำหนดแทน ต่อไปนี้เป็นไวยากรณ์ ที่นี่ @yourAliasName คือตัวแปรและนามแฝงของเรา -

เลือก @yourAliasName :=curdate() เป็น anyAliasName,concat('yourValue.',yourColumnName,' yourValue',@yourAliasName) เป็น anyAliasName จาก yourTableName;

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( ชื่อ varchar(40)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('John Smith'); Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable ('Chris Brown'); Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable ('David Miller');Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable ('John Doe'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| ชื่อ |+-------------+| จอห์น สมิธ || คริส บราวน์ || เดวิด มิลเลอร์ || John Doe |+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อใช้ค่าของนามแฝงภายในคำสั่ง SQL เดียวกัน -

mysql> เลือก @todayDate :=curdate() เป็น todayDate,concat('Mr.',Name,' The current Date is=',@todayDate) เป็นผลลัพธ์จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------------------------------------------------------- ---------------+| วันนี้วันที่ | ผลลัพธ์ |+-------------------------------------------------------------- --------------+| 2019-09-08 | นายจอห์น สมิธ วันที่ปัจจุบันคือ=2019-09-08 || 2019-09-08 | นายคริส บราวน์ วันที่ปัจจุบันคือ=2019-09-08 || 2019-09-08 | นายเดวิด มิลเลอร์ วันที่ปัจจุบันคือ=2019-09-08 || 2019-09-08 | Mr.John Doe วันที่ปัจจุบันคือ=2019-09-08 |+------------+--------------------- ---------------------------- +4 แถวในชุด (0.00 วินาที)