如何基于多个表/记录创建视图/单个记录

时间:2013-04-02 18:40:48

标签: sql view

我需要帮助在SQL 2008中创建一个视图,该视图将创建一个记录,该记录由两个表中的数据组成,其中一个表包含多个记录。

Table 1 contains field A, B
Table 2 contains field A,B,1
                       A,B,2
                       A,B,3
                       A,B,4
                       A,B,5

我正在寻找

的结果视图
A,B,1,2,3,4,5

1 个答案:

答案 0 :(得分:0)

一种选择是使用STUFFFOR 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 Fiddle Demo

如果要组合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;