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



很抱歉,我不知道如何用词表达这个问题,它实际上比听起来有点复杂。我的数据库中有以下内容;请参阅链接中的屏幕截图:

http://prntscr.com/utyopv

我正在使用BIRT生成一个报告,我希望当priority=2时,它显示一个值"High"。类似地,当优先级=1时,它显示为"中",当优先级=1时,显示为"低"。

但我也希望当estimated_time=4时,它显示"16+小时",当estimated_time=3时,显示"<16小时等

现在,我已经使用下面的代码完成了优先级;

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, CONCAT(first_name, " ", last_name) as user, e_name, cc_name, 'Medium' 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 = '1'
union
SELECT date_created, CONCAT(first_name, " ", last_name) as user, e_name, cc_name, 'Low' 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 = '0';

但是我怎么能把估计的时间也包括在内呢?我可以在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'
...

最新更新