我需要帮助在 SQL 2008 中创建一个视图,该视图将创建一条记录,该记录由来自两个表的数据组成,其中一个表包含多个记录。
表 1 包含字段 A、B 表 2 包含字段 A、B、1 A,B,2 A,B,3 A,B,4 A,B,5
我正在寻找一个结果视图
A,B,1,2,3,4,5
一种选择是研究使用STUFF
and FOR XML
:
SELECT t.col1, t.col2,
STUFF((
select ',' + cast(t2.id as varchar)
from yourothertable t2
where t.col1 = t2.col1 and t.col2 = t2.col2
for xml path('')
), 1, 1, '')
from yourtable t
如果你想组合 3 列,使用操作符很容易做到'+'
。
SELECT t.col1 + ',' + t.col2 +
(
select ',' + cast(t2.id as varchar)
from yourothertable t2
where t.col1 = t2.col1 and t.col2 = t2.col2
for xml path('')
)
from yourtable t;