题目是这样的
有一张表有两个字段,课程名称和课程成绩
然后表中有三条记录
语文 89
数学 78
英语 57若分数大于80分的为优秀,大于60的为合格,小于60的为不合格.
请按以下格式写条语句把表中的数据按以下格呈现出来
课程名称 成绩
语文 优秀
数学 合格
英语 不合格各位大神,求解啊

解决方案 »

  1.   

    ----------------------------------------------------------------
    -- Author  :DBA_Huangzj(發糞塗牆)
    -- Date    :2013-06-03 07:50:07
    -- Version:
    --      Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) 
    -- Jun 17 2011 00:57:23 
    -- Copyright (c) Microsoft Corporation
    -- Enterprise Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
    --
    ----------------------------------------------------------------
    --> 测试数据:[huang]
    if object_id('[huang]') is not null drop table [huang]
    go 
    create table [huang]([课程名称] varchar(4),[课程成绩] int)
    insert [huang]
    select '语文',89 union all
    select '数学',78 union all
    select '英语',57
    --------------开始查询--------------------------select [课程名称],CASE WHEN [课程成绩] >80 THEN '优秀' WHEN [课程成绩]<60 THEN '不及格' ELSE '及格' END 
    from [huang]
    ----------------结果----------------------------
    /* 
    课程名称 
    ---- ------
    语文   优秀
    数学   及格
    英语   不及格
    */
      

  2.   

    你后面的一条语句不对啊,出错,能写完整点的吗,mysql的
      

  3.   

    mysql> select a,case when b>80 then'hao' when b>60 then'good' else 'no' end from s;
    +------+-------------------------------------------------------------+
    | a    | case when b>80 then'hao' when b>60 then'good' else 'no' end |
    +------+-------------------------------------------------------------+
    | 语文     | hao                                                         |
    | 数学    | good                                                        |
    | 英文    | no                                                          |
    +------+-------------------------------------------------------------+
    3 rows in set (0.00 sec)
      

  4.   

    case when看下语法,自己动手搞下~
      

  5.   

      SELECT 课程名称,CASE WHEN 课程成绩 >80 THEN '优秀' WHEN 课程成绩<60 THEN '不及格' ELSE '及格' END from TABLE