-1

我试图找到将表格数据更改为一句话的方法例如如果我有一张表格

  Data
   1
   2
   3
   4
   5

我希望它改变为'1 2 3 4 5'

:D

好的说清楚。

我声明了一个可变的@k1 nvarchar(200) select @k1 = keyword from keyword where concept_id = (select Concept_ID from concept where @concept_name = Concept_name)

所以这个变量返回一个如上例所示的表,如关键字 1 2 3 。.

如果我将此变量用于自由文本

 select id as Post_ID, post as Txt from Post 
 where freetext (post, @k1)
 end

它显示了结果,但结果只有@ki 被识别为表的最后一个单词所以我想@k1 可以包括表中的所有数据,以便自由文本函数可以在@k1 中找到任何单词

:C;; 很难解释。。

4

3 回答 3

1

你可以使用 stuff 功能来制作它

SELECT STUFF((SELECT ' '+CONVERT(NVARCHAR(MAX),DATA) FROM SAMPLE 
FOR XML PATH('')),1,1,(''))

下面的示例

http://sqlfiddle.com/#!3/f4c05/3

于 2013-10-08T03:46:05.510 回答
0

使用该代码:

declare @result nvarchar(max) = ''

select @result = @result + [data] + ' ' from tble1

print rtrim(@result)
于 2013-10-08T03:36:10.710 回答
0

将结果集存储在您展示的表格中并使用COALESCE function

DECLARE @List varchar(max)

SELECT @List = COALESCE(@List + ' ', '') + Data 
FROM <yourTable>
于 2013-10-08T03:58:41.023 回答