SELECT语句中的Sybase SQL追加到变量

SELECT语句中的Sybase SQL追加到变量,sql,sybase,sap-ase,Sql,Sybase,Sap Ase,我正在运行Sybase SQL 12.5.1 我试图将行的值合并到一个分隔列表中 我希望下面的语句返回“1;2;3”,但它返回;三, CREATE TABLE #temp3(x varchar(5)) INSERT INTO #temp3 values('1') INSERT INTO #temp3 values('2') INSERT INTO #temp3 values('3') SELECT * FROM #temp3 DECLARE @CombinedValues varchar(8

我正在运行Sybase SQL 12.5.1

我试图将行的值合并到一个分隔列表中

我希望下面的语句返回“1;2;3”,但它返回;三,

CREATE TABLE #temp3(x varchar(5))
INSERT INTO #temp3 values('1')
INSERT INTO #temp3 values('2')
INSERT INTO #temp3 values('3')
SELECT * FROM #temp3


DECLARE @CombinedValues varchar(8000)
SELECT @CombinedValues = COALESCE(@CombinedValues, ';', '') + #temp3.x FROM #temp3
SELECT @CombinedValues
DROP TABLE #temp3
看起来@CombinedValues只获取最后一个值,但它应该包含所有值

如有任何意见,将不胜感激


谢谢

如果前面的答案不起作用(对我不起作用),请尝试下面的答案:

SET NOCOUNT ON

CREATE TABLE #temp3 (
    x   varchar(5)
)
INSERT INTO #temp3 values('1')
INSERT INTO #temp3 values('2')
INSERT INTO #temp3 values('3')

DECLARE @CombinedValues varchar(8000)

update  #temp3
set     @CombinedValues = @CombinedValues + x + ';'
FROM    #temp3

PRINT @CombinedValues

DROP TABLE #temp3

干杯

我想你说的是ASE,而不是SQL?如果你有任何问题,请随意提问。它不允许我使用+=,我认为这在SQL版本中无效。然后使用SELECT CombinedValues=CombinedValues+
SET NOCOUNT ON

CREATE TABLE #temp3 (
    x   varchar(5)
)
INSERT INTO #temp3 values('1')
INSERT INTO #temp3 values('2')
INSERT INTO #temp3 values('3')

DECLARE @CombinedValues varchar(8000)

update  #temp3
set     @CombinedValues = @CombinedValues + x + ';'
FROM    #temp3

PRINT @CombinedValues

DROP TABLE #temp3