提问者:小点点

使用条件显示查询mysql


我下面有一桌员工:

+-------------+---------+------------------+
| employee_id |  phone  |       dept       |
+-------------+---------+------------------+
|           1 | 7738474 | marketing        |
|           2 | [null]  | marketing        |
|           3 | 9938475 | customer service |
|           4 | 4233474 | customer service |
|           5 | 1738477 | marketing        |
|           6 | [null]  | marketing        |
|           7 | [null]  | customer service |
+-------------+---------+------------------+

我想如果市场部有空的电话价值,他们不会显示,如果客户服务部,他们显示所有的价值,甚至电话是空的

+-------------+---------+------------------+
| employee_id |  phone  |       dept       |
+-------------+---------+------------------+
|           1 | 7738474 | marketing        |
|           3 | 9938475 | customer service |
|           4 | 4233474 | customer service |
|           5 | 1738477 | marketing        |
|           7 | [null]  | customer service |
+-------------+---------+------------------+

任何不使用联合的可能查询?

select * from employee where dept ='customer service'
union ALL 
select * from employee where dept = 'marketing' and phone is not null

共1个答案

匿名用户

这听起来比较简单的过滤:

select *
from employee e
where dept = 'customer service' or
      (dept = 'marketing' and phone is not null)