Đó là một lựa chọn tốt để sử dụng câu lệnh CASE. Không sử dụng UNION. Đầu tiên chúng ta hãy tạo một bảng -
mysql> tạo bảng DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime); Truy vấn OK, 0 hàng bị ảnh hưởng (0,63 giây)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> chèn vào giá trị DemoTable (ShippingDate) ('2019-04-21'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào giá trị DemoTable (ShippingDate) ('2019-01-01'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị DemoTable (Ngày vận chuyển) ('2019-05-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị DemoTable (Ngày vận chuyển) ( '2018-12-31'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào các giá trị DemoTable (Ngày vận chuyển) ('2019-02-18'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây)Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * từ DemoTable;Điều này sẽ tạo ra kết quả sau -
+ ---- + --------------------- + | Id | Ngày vận chuyển | + ---- + --------------------- + | 1 | 2019-04-21 00:00:00 || 2 | 2019-01-01 00:00:00 || 3 | 2019-05-11 00:00:00 || 4 | 2018-12-31 00:00:00 || 5 | 2019-02-18 00:00:00 | + ---- + --------------------- + 5 hàng trong bộ (0,00 giây)Sau đây là truy vấn để bảo toàn đơn đặt hàng đã chọn sử dụng thứ tự theo từng trường hợp.
mysql> select * từ ĐƠN HÀNG CÓ THỂ DÙNG ĐƯỢC THEO TRƯỜNG HỢP KHI Vận chuyểnĐiều này sẽ tạo ra kết quả sau -
+ ---- + --------------------- + | Id | Ngày vận chuyển | + ---- + --------------------- + | 3 | 2019-05-11 00:00:00 || 1 | 2019-04-21 00:00:00 || 5 | 2019-02-18 00:00:00 || 2 | 2019-01-01 00:00:00 || 4 | 2018-12-31 00:00:00 | + ---- + --------------------- + 5 hàng trong bộ (0,00 giây)