0

我有这个表:T:

在此处输入图像描述

丁:

在此处输入图像描述

我想要做的是在一个单元格(合并单元格)中获取每个s_id它的所有符号(DBSymbol)。

我找到了本教程,这是我的代码:

select T.s_id, 
    (select '; ' + D.symbol 
     from D 
     where T.D_b_id = D.id 
     FOR XML PATH('')) [DBSymbol]
from T 

但这是我得到的:

在此处输入图像描述

怎么了??

4

2 回答 2

1

尝试这个 -

SELECT t1.s_id,
       STUFF(
           (SELECT '; ' + symbol AS [text()]
               FROM   (
                      SELECT t.s_id,
                             d.symbol
                      FROM   T
                      INNER JOIN D ON  T.d_b_id = D.id
                      WHERE t.s_id = t1.s_id                      
                      ) x
            FOR XML PATH('')
           ), 1, 1, '')
FROM T t1
GROUP BY t1.s_id

检查它:SQL Fiddle

于 2013-10-29T15:58:25.573 回答
1
select DISTINCT T.s_id, 
Stuff((SELECT DISTINCT  '; ' + D.symbol 
     from  D 
     --where T.D_b_id = D.id 
     FOR XML PATH('')),1,1,'') [DBSymbol]
from T

这里的例子

于 2013-10-29T15:09:06.540 回答