假设有表table,有字段A,B,C,D,里面有记录如下
1  2  'hello' 3
1  3  'hello' 3
1  4  'no'    3
1  3  'kkk'   4
2  2  'kkk'   3
创建视图,将A,D字段值相同的记录,把其B,C字段合成一个字段,并加上固定前缀
比如上面的,假设视图字段为E,F,G,在视图里查询出来的结果集应为
1  "文件2 错误hello,文件3 错误hello,文件4 错误no"  3
1  "文件3 错误kkk"    4
2  "文件2 错误kkk"    3请问下这个视图怎么创建??

解决方案 »

  1.   


    create table ion
    (A int,B int,C varchar(8),D int)insert into ion
    select 1, 2, 'hello', 3 union all
    select 1, 3, 'hello', 3 union all
    select 1, 4, 'no', 3 union all
    select 1, 3, 'kkk', 4 union all
    select 2, 2, 'kkk', 3
    create view vion as
    select t1.A 'E',
    stuff((select ',文件'+cast(B as varchar)+' 错误'+C
     from ion t2 where t2.A=t1.A and t2.D=t1.D
     for xml path('')),1,1,'') 'F',
    t1.D 'G' from ion t1 group by t1.A,t1.Dselect * from vionE           F                                                 G
    ----------- ---------------------------------------------- -----------
    1           文件2 错误hello,文件3 错误hello,文件4 错误no         3
    1           文件3 错误kkk                                       4
    2           文件2 错误kkk                                       3(3 row(s) affected)