sql 子查询stuff功能(同一个人的多任务,多领域成为字符串)
2015-08-24 19:10
471 查看
USE [erp2015] GO /****** Object: StoredProcedure [dbo].[GetUser] Script Date: 03/14/2015 13:27:04 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: wangyanling -- Create date: 205-03-12 -- Description: 获取客户信息 -- ============================================= ALTER PROCEDURE [dbo].[GetUser] -- Add the parameters for the stored procedure here @UName varchar(200) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; Create table #temp ( USerID int, GName VARCHAR(100) ) create table #temp2 ( USerID int, GName VARCHAR(100) ) insert into #temp2 SELECT u.UId,db.gName FROM u_user u left join User_Group ug on u.UId=ug.uId left join Db_Group db on ug.gId=db.gId insert into #temp select u.UId,g.GName from u_user u left join ug_User_Group ug on u.UId=ug.UId left join g_group g on ug .GId=g.GId declare @count int begin select distinct u_user.UId, LName,WorkNum,UName,UQQ,UType,ToTime, Remark=STUFF((select ','+rtrim(#temp.GName) from #temp where t.USerID=#temp.USerID order by #temp.USerID for xml path('')),1,1,'') , probation=STUFF((select ','+rtrim(#temp2.GName) from #temp2 where t2.USerID=#temp2.USerID order by #temp2.USerID for xml path('')),1,1,'') from u_user left join #temp t on u_user.UId=t.USerID left join #temp2 t2 on u_user.UId=t2.USerID where UName like '%'+@UName+'%' end drop table #temp drop table #temp2 END --exec GetUser ''
相关文章推荐
- 云时代的分布式数据库:阿里分布式数据库服务DRDS
- 数据库测试点
- 软件开发中的数据库测试技术
- NoSQL数据库概览及其与SQL语法的比较
- SQL 工具系列二
- 八种Nosql数据的对比
- 【数据库】主键、外键、索引
- 数据库的三大范式
- mysql语句错误(更新中)
- Redis配置全解
- Win10+VS2015+EF6.0+MySQL5.6+MVC环境部署和排错
- 学习笔记——Java调用Oracle存储过程
- 数据库-事务
- sql语句关键字over的作用及用法
- oracle学习笔记一:用户管理(3)用户口令管理
- 范式的数据库具体解释
- 【数据库】E-R模型
- Mysql实现full join的替换方法
- sql over函数使用
- NoSql-MongoDB+Dos窗口下的增删改