你这里完全就是1个表 T1 T2 T3三列 我根本没有看到有3个表
表结构都说不清楚 要大家怎么帮你呢?
DECLARE @T table(T1 varchar(4), T2 varchar(4), T3 varchar(4))
insert into @T (T1, T2, T3) values ('A2','11', '21')
insert into @T (T1, T2, T3) values ('A2','12', '22')
insert into @T (T1, T2, T3) values ('A2','13', '23')
insert into @T (T1, T2, T3) values ('A2','14', '24')
insert into @T (T1, T2, T3) values ('B2','15', '')
insert into @T (T1, T2, T3) values ('B2','16', '')
insert into @T (T1, T2, T3) values ('C2','', '')
insert into @T (T1, T2, T3) values ('C2','', '')
insert into @T (T1, T2, T3) values ('D2','', '25')
insert into @T (T1, T2, T3) values ('D2','', '26')
SELECT A.T1, LEFT(T2,LEN(T2)-1)[T2], LEFT(T3,LEN(T3)-1)[T3] FROM
(
SELECT T1
, (SELECT T2 + ',' FROM @T WHERE T1 = A.T1 FOR XML PATH(''))[T2]
, (SELECT T3 + ',' FROM @T WHERE T1 = A.T1 FOR XML PATH(''))[T3]
FROM @T A GROUP BY T1
)A