连接列中的字符串

时间:2018-08-24 09:30:29

标签: sql-server tsql

我有这个查询:

declare @tab1 table (
    descrizione varchar(50),
    c_prodotto char(5),
)

insert into @tabRiepilogoProvvigioniBanca (descrizione, c_prodotto)
select c_prodotto, descrizione
from Maintable

此查询的结果返回2条记录。

然后我要打印它们:

select  @riga   = ''

select  @riga   = @riga + substring( ltrim(rtrim( c_prodotto)) + space(10), 1, 10)
from @tab1
select  @riga   = @riga + ' ' + substring(ltrim(rtrim(ISNULL( descrizione,0))) + space(50), 1, 15) 
from @tab1

select @riga

结果是:

PVDTR PVTDC    0 0

我想知道是否有可能得到这样的结果:

PVDTR   0
PVTDC   0

2 个答案:

答案 0 :(得分:0)

您需要将填充select的两个@riga语句合并为一个select语句,并在每行之后添加一个换行符,如下所示:

select @riga = @riga
             + substring(ltrim(rtrim(c_prodotto)) + space(10), 1, 10)
             + ' '
             + substring(ltrim(rtrim(ISNULL(descrizione,0))) + space(50), 1, 15)
             + CHAR(13) + CHAR(10)
from @tab1

答案 1 :(得分:0)

如果您不使用@riga,则只需选择行

select  substring( ltrim(rtrim( c_prodotto)) + space(10), 1, 10) 
+ ' ' + substring(ltrim(rtrim(ISNULL( descrizione,0))), 1, 15) 
from @tab1