如何解决如何在一个mysql字段中创建两个条件?
对不起,我不知道该如何措辞,它实际上比听起来复杂得多。我的数据库中有以下内容:请查看链接中的屏幕截图:
我正在使用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'
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。