首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于连接多个记录中的值的SQL查询

用于连接多个记录中的值的SQL查询
EN

Stack Overflow用户
提问于 2010-08-08 18:22:47
回答 1查看 467关注 0票数 2

我有一个包含Employees的表employees (假设重要字段是int,Name varchar(50))和一个包含sales Areas的表are ( int,EmployeeID int,USState char(2))。

样本值为:

代码语言:javascript
复制
Employees
ID     Name
1      Shoeman
2      Smith
3      Johnson

Areas
ID     EmployeeID     USState
1      1              NY
2      1              FL
3      1              AR
4      2              DC
5      2              AR
6      3              TX

有没有人能给我一个提示,让我用下面的方式进行SQL查询,以获得输出记录集:

代码语言:javascript
复制
EmployeeID     USState
1              NY FL AR
2              DC AR
3              TX

目标平台: SQL Server 2005。

EN

回答 1

Stack Overflow用户

发布于 2011-05-20 05:18:39

这是我使用UDF的首选格式(在大型DB上似乎也要快得多)

代码语言:javascript
复制
CREATEFUNCTION dbo.StateList(@ID int) RETURNS varchar(max)

AS

DECLARE @out varchar(max);

SET @out=''; -- comment this out to reutrn NULL if nothing found

SELECT @out=@out+USState+' ' -- operates like a loop assigning the values in sequence to the out variable.

FROM AREAS
WHERE EmployeeID=@ID
ORDER BY USState

RETURN @out

查询示例...

代码语言:javascript
复制
SELECT Name, dbo.StateList(EmployeeID)
FROM Employees
Order BY Name

通过这种方式,您可以为要以这种方式分解的每个列表创建一个UDF。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3433942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档