表名:tb_test
数据是这样的:
id,no,course,num
1  12  数学  10
1  13  语文  20
2  14  数学  20
2  15  语文  30求SQL语句显示为:ID 数学 语文
1   10   20
2   20   30还有就是有3个表
tb_a,tb_b,tb_c
tb_a(aid,sname,age,sex)学生表
tb_b(bid,aid,cid,grade)成绩表
tb_c(cid,name,teacher)课程表
求学生选择了最少2项课程的SQL语句。麻烦各位帮帮忙,对SQL实在是欠缺。先谢谢了。

解决方案 »

  1.   

    select id,no,course,num from tb_test group by Id,course 
      

  2.   

    还有就是有3个表 tb_a,tb_b,tb_c tb_a(aid,sname,age,sex)学生表 tb_b(bid,aid,cid,grade)成绩表 tb_c(cid,name,teacher)课程表 求学生选择了最少2项课程的SQL语句。
    我见过这个面试题,感觉还有什么你没提供,想不起来了..
      

  3.   

    不对阿,消息 8120,级别 16,状态 1,第 1 行
    选择列表中的列 'tb_test.no' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
      

  4.   

    我的Sql水平也一般,做了下第二题
    select * from tb_a where aid in
    (
    select aid from 
    (
    select COUNT(cid) as aa,aid from tb_b group by aid
    )as t
    where aa >=2
    )
      

  5.   


    改了一下select * from tb_a where aid in
    (
    select aid from tb_b group by aid having COUNT(cid)>=2
    )
      

  6.   

    select id,
    sum(case when course='数学' then num end) as 数学,
    sum(case when course='语文' then num end) as 语文
    from fenshu group by id
    第一题的