小抛 2015-05-05 15:45 采纳率: 0%
浏览 3995
已采纳

查询一张表中的某个字段对应另一张表中多条数据某个字段等于第一张表的那个字段的数据,并按要求显示

给的表例如
表一:
stuID stuName
1 小明
2 小红

表二:
stuID  course   Score
    1        数学       97
    1        语文        70
    1        英语        88
    2        数学        92

    要求查询结果为:
    stuID   stuName   语文   数学   英语
        1         小明          70       97      88
        2         小红                     92
  • 写回答

5条回答 默认 最新

  • danielinbiti 2015-05-05 15:53
    关注

    类似下面这样,下面语句没有调测过。

     select stuID,(select stuName from 表一 where 表一.stuID=t.stuID) stuName 
    from(
    select sum(case course when '数学' then Score else 0 end) 数学
    ,sum(case course when '语文' then Score else 0 end) 语文
    ,sum(case course when '英语' then Score else 0 end) 英语,stuId
    from 表二 group by stuId
    )
    

    另外,可参见http://blog.csdn.net/danielinbiti/article/details/44977749微博中写的这种方式的过程

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?