0

我需要帮助在 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
4

1 回答 1

0

一种选择是研究使用STUFFand 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

SQL 小提琴演示

如果你想组合 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;
于 2013-04-02T18:53:08.507 回答