zoukankan      html  css  js  c++  java
  • [SQJ]sql如何实现类似统计的功能

    假设mssql2000中,
    
    有如下表:
    
    table Class
    
     
    
    class_No       course_Name
    
    -----------------------------------
    
    0001             chinese
    
    0001             math
    
    0001             english
    
    0002             chinese
    
    0002             math
    
    0003             english
    
     
    
     
    
    如果要查询出下面这种格式的结果,如何实现?请指教,谢谢!
    
    结果:
    
     
    
    class_No        course_Name
    
    ------------------------------------------------
    
    0001              chinese, math, english
    
    0002              chinese, math
    
    0003              english
    
     
    
     
    
     
    
    另外,如果要选出包含english的行,该如何操作?
    
     
    
    搜索包含english的结果:
    
    class_No        course_Name
    
    ------------------------------------------------
    
    0001              chinese, math, english
    
    0003              english
    create function [f_str]
    
    (
    
           @id int
    
    ) returns nvarchar(1000) 
    as 
    begin 
    declare @str nvarchar(1000) 
    set @str = '' 
    select @str = @str + ',' + cast(course_Name as nvarchar(20))  from  tb_Class where   class_No = @id 
    
    
    set @str = right(@str , len(@str) - 1) 
    return @str 
    end 
    go 
    
    
    --建立函数成功,调用函数 
    select id  class_No, course_Name= f_str(class_No) from  tb_Class  group  by class_No
  • 相关阅读:
    二维数组中的查找
    循环语句
    掷骰子游戏和条件语句
    类型转换与键盘输入
    运算符(2)
    运算符(1)
    面向对象(2)
    面向对象(1)
    理解几种排序方法
    优盘、移动硬盘简便制作启动盘
  • 原文地址:https://www.cnblogs.com/beeone/p/3621748.html
Copyright © 2011-2022 走看看