首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

一个数据访问的有关问题

2012-01-18 
一个数据访问的问题我想做一个出差统计的查询程序。有一个表是这样的table1出差id,出发日期,回来日期1,2006

一个数据访问的问题
我想做一个出差统计的查询程序。有一个表是这样的
table1
出差id,出发日期,回来日期
1           ,20060601,20060602
一个人员表
user
人员id,人名
1           ,   张三
2           ,李四
3           ,王五

一个出差和人员对应的多对多的表
table2
出差id,人员id
1           ,1
1           ,3
2           ,1
2           ,2
3           ,3
4           ,1
4           ,2
4           ,3
我想生成一个表内容如下:
出差id,出发日期,回来日期,人员
1           ,20060601,20060602,张三   王五
2           ,----,----,张三   李四

如何实现呢???
谁能帮我看看!!!


[解决办法]
-- 函数
CREATE FUNCTION dbo.f_str(
@出差id int
)RETURNS varchar(8000)
AS
BEGIN
DECLARE @re varchar(8000)
SET @re = ' '
SELECT @re = @re + ', ' + A.人名
FROM 人员表 A, table2 B
WHERE A.人员id = B.人员id
AND B.出差id = @出差id
RETURN(STUFF(@re, 1, 1, ' ')
END
GO


以后调用函数查询即可

SELECT *, 人员 = dbo.f_str(出差id) FROM table1

热点排行