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

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

给的表例如
表一:
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条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?