如何在一个mysql字段中创建两个条件?

问题描述

对不起,我不知道该如何措辞,它实际上比听起来复杂得多。我的数据库中有以下内容:请查看链接中的屏幕截图:

http://prntscr.com/utyopv

我正在使用BIRT生成报告,我希望当priority = 2时,它显示为“高”值。同样,当优先级= 1时,显示“中”,当优先级= 1时,显示“低”。

但是我也希望当估计时间= 4时显示'16 + hrs',当估计时间= 3时显示'

现在我已经设法使用下面的代码进行优先处理;

SELECT date_created,CONCAT(first_name," ",last_name) as user,e_name,cc_name,'High' as priority,job_description,due_date,estimated_time,impediment
FROM job_planning as jp
INNER JOIN user as u
ON jp.user_id = u.id
INNER JOIN employer as e
ON jp.employer_id = e.id
INNER JOIN client_company as cc
ON jp.client_id = cc.id
WHERE jp.priority = '2'

union

SELECT date_created,'Medium' as priority,impediment
FROM job_planning as jp
INNER JOIN user as u
ON jp.user_id = u.id
INNER JOIN employer as e
ON jp.employer_id = e.id
INNER JOIN client_company as cc
ON jp.client_id = cc.id
WHERE jp.priority = '1'

union

SELECT date_created,'Low' as priority,impediment
FROM job_planning as jp
INNER JOIN user as u
ON jp.user_id = u.id
INNER JOIN employer as e
ON jp.employer_id = e.id
INNER JOIN client_company as cc
ON jp.client_id = cc.id
WHERE jp.priority = '0';

但是我如何也可以包含estimate_time?我可以在MySQL中使用OR吗?我不能使用AND,因为那样会将两者分开。

感谢并感谢您的帮助。

解决方法

SELECT ...,CASE priority WHEN 2 THEN 'High'
                     WHEN 1 THEN 'Medium',ELSE        'Low'
                     END AS verbal_priority,CASE estimated_time WHEN 4 THEN '16+hrs'
...

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...