如题,我想写一个MySQL的触发器,请问MySQL中的触发器和生sql server中有什么不同?另外,如题
我想将表
学号 课程 得分
01    a    80
02    b    85
01    b    90
02    c    88
02    a    85
01    c    90
.....
.....转换成 
学号  课程a  课程b   课程c   课程d ......
01      80    90      90
02      85    85      88    

解决方案 »

  1.   

    如题,我想写一个MySQL的触发器,请问MySQL中的触发器和生sql server中有什么不同?大方向上没什么不同,细节上有语法上的差别,还有一些功能上的限制。具体请参一下MYSQL的帮助手册。http://dev.mysql.com/doc/refman/5.1/zh/triggers.html
    21. 触发程序
    21.1. CREATE TRIGGER语法
    21.2. DROP TRIGGER语法
    21.3. 使用触发程序
    
      

  2.   


    大体上分两类,固定列数的,和动态列数的。
    你可以直接参考一下http://blog.csdn.net/ACMAIN_CHM/archive/2009/06/19/4283943.aspx
    MySQL交叉表
    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
      

  3.   

    楼主照着改就行了。select 学号,
    sum(if(课程='a',得分,0) as 课程a,
    sum(if(课程='b',得分,0) as 课程b,
    sum(if(课程='c',得分,0) as 课程c,
    sum(if(课程='d',得分,0) as 课程d
    from yourTable
    group by 学号