日期:2014-05-18  浏览次数:20529 次

SQL查询问题,如何把附表的 多行数据的一列 结合到一起
如下,有表1 表2

StudentID ID StudentID math  
  1 1 1 100
  2 1 80
  3 1 60

显示的时候StudentID 和这个学生的math所有成绩 100,80,60 ·优良,中等,及格

最后显示结果·(2列,1行)

  1 优良,中等,及格


------解决方案--------------------
case when
------解决方案--------------------
SQL code
 select ID,判定成绩  from tb where 判定成绩=case when 成绩=100 then 优良 when 成绩=80 then 中等 when 成绩=60 then 及格 group by id

------解决方案--------------------
SQL code
select ID, (case when 成绩=100 then '优良' when 成绩>=80 then '中等' when 成绩 >=60 then '及格' else '未知' end)  AS 最终成绩 
FROM tb 
group by ID

------解决方案--------------------
SQL code

select ID, 
(case when 成绩=100 then '优良' when 成绩>=80 AND 成绩<100 then '中等' when 成绩 >=60 then '及格' else '未知' end)  AS 最终成绩 
FROM tb 
group by ID