表数据变为一个句子

时间:2013-10-08 03:26:23

标签: sql sql-server sql-server-2008

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

  Data
   1
   2
   3
   4
   5

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

:d

好的说清楚。

我声明一个可变的@ k1 nvarchar(200) 从关键字中选择@ k1 =关键字,其中concept_id =(从概念中选择Concept_ID,其中@concept_name = Concept_name)

所以这个变量返回一个表,如上例所示 喜欢       关键词           1           2           3           。           

如果我将这个变量用于freetext

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

它显示结果,但结果只有@ki被识别为表格的最后一个单词 所以我想@ k1可以包含表中的所有数据,所以freetext函数可以找到@ k1中的任何单词

:C ;;很难说.. ..

3 个答案:

答案 0 :(得分:1)

你可以使用东西功能来实现它

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

以下示例

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

答案 1 :(得分:0)

使用该代码:

declare @result nvarchar(max) = ''

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

print rtrim(@result)

答案 2 :(得分:0)

将结果集存储在您显示的表格中,然后使用COALESCE function

DECLARE @List varchar(max)

SELECT @List = COALESCE(@List + ' ', '') + Data 
FROM <yourTable>