-------------------------------------
人员表(其中部门字段里有多个部门id,以逗号隔开)
name pwd deptid
张三 123 1,3,9
李四 123 2,4
-----------------------------------
部门代码表
deptid depname
1 综合部
2 管理部
3 财务部
4 人力资源部
....
9 软件开发部
--------------------------------
请教:我现在用datagrid绑定人员表的数据,但是部门要显示中文,并以逗号隔开。这个sql怎么写?
人员表(其中部门字段里有多个部门id,以逗号隔开)
name pwd deptid
张三 123 1,3,9
李四 123 2,4
-----------------------------------
部门代码表
deptid depname
1 综合部
2 管理部
3 财务部
4 人力资源部
....
9 软件开发部
--------------------------------
请教:我现在用datagrid绑定人员表的数据,但是部门要显示中文,并以逗号隔开。这个sql怎么写?
--创建函数
CREATE FUNCTION [DBO].GetDept( @ids varchar(100) )
RETURNS varchar(1000)
AS
BEGIN
IF (@ids='') BEGIN RETURN '' END
DECLARE authors_cursor CURSOR FOR SELECT depname FROM 部门代码表 WHERE charindex(','+CAST(deptid AS VARCHAR(20))+',',','+@ids+',')>0
OPEN authors_cursor
DECLARE @sname varchar(100) FETCH NEXT FROM authors_cursor INTO @sname
DECLARE @S varchar(3000)
SET @S=''
DECLARE @sT varchar(1)
SET @sT =''
WHILE @@FETCH_STATUS = 0
BEGIN
SET @S =@S+@sT+@sname FETCH NEXT FROM authors_cursor INTO @sname
SET @sT = ','
END
CLOSE authors_cursor
DEALLOCATE authors_cursor
RETURN @S
END
GO
SELECT *,[DBO].GetDept(deptid) AS deptNAME FROM 人员表--查询
不能这么写吧