我正在处理一个存储过程,在我的工作中使用一个函数来扩展它。目前我在一行中显示来自同一列的多个值时遇到问题,并且它们必须有所不同,并且显示为 25,26,27
所以这就是我一直在尝试的。
DECLARE @myVariable varhcar(200) null)
SELECT @myVariable = COALESCE(@myVariable + '','','') + stringvalue
from TABLE
WHERE COLUMN1 = SOMEVARIABLE
and ISSUE = COLUMN2
SELECT @Headtext = 'name' + convert(varchar, @myVariable)
在此之前,我在SP中创建了一个表,其中显示了其他数据。我希望SP用这些数据创建行。仍然有一些麻烦不确定这个,第一个计时器与这种SP。
答案 0 :(得分:2)
您的代码应如下所示:
DECLARE @myVariable varhcar(200);
SELECT @myVariable = COALESCE(@myVariable + ',', '') + stringvalue
from TABLE
WHERE COLUMN1 = SOMEVARIABLE and ISSUE = COLUMN2;
SELECT @Headtext = 'name' + @myVariable;
连接变量的另一种方法是:
SELECT @myVariable = stuff((select ',' + stringvalue
from TABLE
WHERE COLUMN1 = SOMEVARIABLE and ISSUE = COLUMN2
for xml path ('')
), 1, 1, '');
SELECT @Headtext = 'name' + @myVariable;