可以的。。不需要加引号了。。
sum(case c.cname when '语文' then score else 0 end) yuwen,
sum(case c.cname when '数学' then score else 0 end) shuxue
然后result.getString("yuwen");就可以了,我就是这样写的。
如果case 不行就用decode吧,
sum(decode(c.cname ,'数学',0) yuwen,
sum(decode(c.cname ,'语文',0) shuxue
有很多方式,比如你可以把这个实体类的属性改为你把需要的所有字段(包括多表的字段,也就是你的联合查询里的字段);还可以一个表一个实体,在父实体里声明一个子实体的属性,这样你在查询数据时就可以直接为父实体赋值了,对于关联的数据就只是这个实体的一个属性而已,只不过这个属性也是一个实体。
请用CASE WHEN 语句 。如果不行的话,写存储过程吧