【MySQL】如何在多表查询语句中加入字段,并让该字段的值根据其他字段的值显示不同的内容

多表查询得到一个表,在这个多表查询的代码中插入一个全新的字段,并让该字段的内容根据原来某一字段的值显示不同的内容。

题主可以考虑使用case when,举个例子,学生表关联成绩表,获取成绩,根据成绩是否大于60分,来判断是否及格,这个及格是新字段。

select s.name as '姓名', sc.score as '成绩',  case when sc.score >= 60 then '及格' else '不及格' end as '是否及格'  
from s join sc on sc.s_id = s.id 

通过case when来判断其他字段取值,决定当前字段的值。

这个具体要看你这个新字段和原来某字段之间的转换规则,
如果是简单的枚举值或者范围映射,就用上面的case when;
如果是函数转换关系,就用对应的函数处理,比如获取原字段长度、全部转换成大写、拼接一个字符串等等,
各字段之间用逗号隔开就行了,和查已有的字段没什么区别。比如

--新字段为原字段长度
select 字段1,字段2,length(字段2) as 新字段 from--新字段为原有两个字段拼接
select a.字段1,a.字段2,
b.字段1,b.字段2 ,
concat(a.字段1,b.字段2) as 新字段 
from a join b on a.id=b.id

case when 成绩>60 then "合格" else "不合格" end as 是否合格