이를 위해 MySQL에서 CASE WHEN 문을 사용합니다. 테이블을 만들어 봅시다 -
mysql> create table demo47 −> ( −> first_name varchar(20), −> last_name varchar(20) −> ); Query OK, 0 rows affected (1.57 sec)
insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -
mysql> insert into demo47 values('John','Smith'); Query OK, 1 row affected (0.18 sec) mysql> insert into demo47 values('David','Miller'); Query OK, 1 row affected (0.11 sec) mysql> insert into demo47 values('John','Doe'); Query OK, 1 row affected (0.12 sec) mysql> insert into demo47 values('Chris','Brown'); Query OK, 1 row affected (0.12 sec)
select 문을 사용하여 테이블의 레코드 표시 -
mysql> select *from demo47;
이것은 다음과 같은 출력을 생성합니다 -
+------------+-----------+ | first_name | last_name | +------------+-----------+ | John | Smith | | David | Miller | | John | Doe | | Chris | Brown | +------------+-----------+ 4 rows in set (0.00 sec)
다음은 MySQL에서 특정 필드/행을 제거하고 다른 레코드를 표시하는 쿼리입니다.
mysql> select case when first_name= 'John' then last_name else first_name end Result −> from demo47 −> where 'John' in (first_name,last_name);
이것은 다음과 같은 출력을 생성합니다 -
+--------+ | Result | +--------+ | Smith | | Doe | +--------+ 2 rows in set (0.00 sec)