我试图从表中查找相对信息,并将这些结果(以及其他不相关的结果)作为较大查询的一部分返回到一行中。
我已经尝试使用这个示例,并针对我的数据进行了修改。
如何在一列中返回多个值(T-SQL)? https://stackoverflow.com/questions/122942/how-to-return-multiple-values-in-one-column-t-sql
但我无法让它发挥作用。它不会提取任何数据(我确信它是用户[me] 错误)。
如果我直接使用 TempTable 查询表,我可以得到正确的结果。
DECLARE @res NVARCHAR(100)
SET @res = ''
CREATE TABLE #tempResult ( item nvarchar(100) )
INSERT INTO #tempResult
SELECT Relation AS item
FROM tblNextOfKin
WHERE ID ='xxx' AND Address ='yyy'
ORDER BY Relation
SELECT @res = @res + item + ', ' from #tempResult
SELECT substring(@res,1,len(@res)-1) as Result
DROP TABLE #tempResult
注意上面的 WHERE 行,xxx and yyy会根据函数的输入标准而变化。但由于你不能在函数中使用 TempTables...我陷入困境。
我试图查询的表中的相关字段如下。
tbl 近亲
ID - varchar(12)
名称 - varchar(60)
关系 - varchar(30)
地址 - varchar(100)
我希望这有足够的意义......我在另一篇文章中看到了一个合适的表达方式。
我的 SQL-fu 不太好。
一旦我获得了一个可用的函数,我会将其放入我正在处理的 SSIS 包的主查询中,该包从许多其他表中提取数据。
如果需要,我可以提供更多详细信息,但该网站表示要保持简单,我也尝试这样做。
谢谢 !!!
后续(因为当我在下面的回复中添加评论时,我无法编辑格式)
我需要能够从不同的列中获取结果。
ID 姓名 关系 地址
1, 迈克, SON, 100 Main St.
1,萨拉,DAU,主街 100 号
2, 蒂姆, 儿子, 123 南街
前两个人都住在同一个地址,所以如果我查询 ID='1' 和 Address='100 Main St.'我需要结果看起来像......
“道,儿子”