Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Loại bỏ trường/hàng cụ thể và hiển thị các bản ghi khác trong MySQL

Sử dụng CASE WHEN trong mệnh đề SELECT. Tạo bảng demo47:

mysql> CREATE TABLE demo47 (
    -> first_name VARCHAR(20),
    -> last_name VARCHAR(20)
    -> );

Chèn dữ liệu:

mysql> INSERT INTO demo47 VALUES('John','Smith');
mysql> INSERT INTO demo47 VALUES('David','Miller');
mysql> INSERT INTO demo47 VALUES('John','Doe');
mysql> INSERT INTO demo47 VALUES('Chris','Brown');

Hiển thị dữ liệu:

mysql> SELECT * FROM demo47;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| John       | Smith     |
| David      | Miller    |
| John       | Doe       |
| Chris      | Brown     |
+------------+-----------+

Truy vấn: nếu first_name = 'John' thì hiển thị last_name, ngược lại hiển thị first_name, chỉ lấy các hàng có 'John' trong first_name hoặc last_name:

mysql> SELECT CASE WHEN first_name = 'John' THEN last_name ELSE first_name END AS Result
    -> FROM demo47
    -> WHERE 'John' IN (first_name, last_name);

Kết quả:

+--------+
| Result |
+--------+
| Smith  |
| Doe    |
+--------+