日期:2014-05-16  浏览次数:20512 次

求一SQL 写法
sql如何表示这个关系
不需要更新:
 例如 a表  字段A
          a,b
     b表  字段A
           a
结果 a表 a表  字段A
            a,b

然后a表包含b表的内容则不更新,内容是逗号隔开的 这个怎么表示?
例如 a表  字段A
          a,b
     b表  字段A
           c
需要更新:
结果 a表 a表  字段A
            a,b,c 

------解决方案--------------------

create table a表(字段A varchar(10))

insert into a表(字段A) 
 select 'a,b'

create table b表(字段A varchar(10))

insert into b表(字段A) 
 select 'b' union all
 select 'c'


select a.字段A+cast((select ','+b.字段A 
                     from b表 b
                     where charindex(b.字段A,a.字段A,1)=0
                     for xml path('')) as varchar) '字段A'
 from a表 a

/*
字段A
----------------------------------------
a,b,c

(1 row(s) affected)
*/