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

เลือกค่าที่แตกต่างจากสามคอลัมน์และแสดงในคอลัมน์เดียวด้วย MySQL


สำหรับสิ่งนี้ ให้ใช้ UNION มากกว่าหนึ่งครั้งในการสืบค้น MySQL เดียว ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> Value1 int, -> Value2 int, -> Value3 int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)

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

mysql> แทรกลงในค่า DemoTable (20,null,null);Query OK, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า DemoTable (20,null,null);Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที) )mysql> แทรกลงในค่า DemoTable (20, null, null); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable (10, null, null); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (80,20,100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (10,null, null); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)

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

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

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

<ก่อนหน้า>+---------+---------+-------+| Value1 | Value2 | ค่าที่ 3 |+---------+---------+-------+| 20 | NULL | NULL || 20 | NULL | NULL || 20 | NULL | NULL || 10 | NULL | NULL || 80 | 20 | 100 || 10 | NULL | NULL |+--------+---------+--------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกค่าที่แตกต่างจาก 3 คอลัมน์เป็น 1 -

mysql> เลือก *from -> ( -> เลือก Value1 เป็น AllValue จาก DemoTable -> union -> เลือก Value2 เป็น AllValue จาก DemoTable -> union -> เลือก Value3 เป็น AllValue จาก DemoTable -> ) tbl โดยที่ AllValue ไม่ใช่ NULL -> สั่งซื้อโดย AllValue;

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

<ก่อนหน้า>+----------+| AllValue |+----------+| 10 || 20 || 80 || 100 |+----------+4 แถวในชุด (0.00 วินาที)