SQL Server中自定义函数和游标使用实例

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 16:13 点击:

问题:
 
假设环境如下:
    表1:      ID, NAME,      QQ,     PHONE,
表中数据:      1       秦云        10102800 13500000
                2       在路上      10378    13600000
                3       LEO         10000    13900000
 
    表2:      ID, NAME,  上机时间,管理员,
表中数据:     1   秦云    2004-1-1  李大伟
               2   秦云    2005-1-1  马化腾
               3    在路上  2005-1-1  马化腾
               4    秦云   2005-1-1  李大伟
               5   在路上 2005-1-1  李大伟
 
实现目的:从表1中取所有人员列表,从表2中取上机次数和管理员.
             上机人员名单    上机次数   管理员(上这几次机的每个管理员都列出来)
               秦云             3             李大伟,马化腾,李大伟
               在路上           2            马化腾,李大伟
               LEO              0     
如果不算管理员那一列的话,我是这样写的。
SELECT  表1.NAME AS 姓名, COUNT(表2.ID) AS 上机次数
FROM  表1 LEFT OUTER JOIN
      表2 ON 表1.NAME = 表2.NAME
GROUP BY 表1.名称
解答:
测试用例
create table 表1( --drop table 表1
ID     int,
NAME   varchar(10),
QQ     varchar(10),
PHONE  varchar(20)
)
 
insert into 表1 values(1   ,'秦云'    ,'10102800'     ,'13500000')
insert into 表1 values(2   ,'在路上'  ,'10378'        ,'13600000')
insert into 表1 values(3   ,'LEO'     ,'10000'        ,'13900000')
 
create table 表2( --drop table 表2
ID        int,
NAME    varchar(10) ,
上机时间  datetime,
管理员    varchar(10)
)
 
insert into 表2  values(1,'秦云'   ,cast('2004-1-1' as datetime),'李大伟')
insert into 表2  values(2,'秦云'   ,cast('2005-1-1' as datetime),'马化腾')
insert into 表2  values (3,'在路上' ,cast('2005-1-1' as datetime),'马化腾')
inse

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • sql常见面试题
    • SQL SERVER 2005性能之跟踪
    • SQL编程(一)
    • LINUX上RMAN自动备份脚本
    • sql server面试题
    • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
    • 如何将多个SQL查询统计结果一次显示出来
    • SQL小技巧系列 --- 行转列合并
    • sql server 列转行
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1