在数据库查询语句中 要返回 一个集合的数据 的处理方式。

比如 : select Id from user  返回的 是 

      1

      2

      3

      4

比如一条查询语句查询所有公司的信息,顺便查询userid的值

select userid=(select Id from user ),* from CompanyList 

要求返回的 格式 是 userid =  1,2,3,4

这个时候返回的UserId 的值 是不正确的。

处理方式是,建立一个 函数 对 (select Id from user ) 进行单独处理

 返回 一个 字符串 。

-- =============================================
-- 作者:  <zsx>
-- 时间:        <2011-1-26>
-- 作用:     <-- =============================================
ALTER function [dbo].[Fn_SplitUserId](@userId varchar(20))
returns nvarchar(256)
as
begin
    declare @strValueIdArray nvarchar(256)
    select @strValueIdArray=isnull(@strValueIdArray+'|','')     from User    where  userid = @userid

    return @strValueIdArray
end

posted @ 2011-06-22 20:03  历程  阅读(1002)  评论(0编辑  收藏  举报