【发布时间】:2014-10-08 04:56:18
【问题描述】:
我在 SQL Server 中有一个表:
T_Id Supplimentary_keywords
-------------------------------------------------------------------------------------------
1 Animal, Animals, 1, One, Single,live,living Organism
2 Animals, Animal, Two, 2,live,living Organism
3 Animals, Animal, Three, 3,live,living Organism
4 Animals, Animal, Four, 4,live,living Organism
5 Animals, Animal, 5, Five,live,living Organism
6 Group Of Animals, Small Group, Group, Groups, Small Size Group
7 Group Of Animals, Animals, Animal, Group, Groups, Grouping,live,living Organism
8 Group Of Animals, Animals, Animal, Group, Groups, Grouping,large Group,live
9 Head, Heads
10 Neck, Necks
现在我想从Supplimentary_keywords 和distinct 中选择数据,如下所示:
Supplimentary_keywords
----------------------
Animal
Animals
1
One
Single
live
living Organism
Two
2
live
Three
3
.......
我正在使用以下代码
SELECT DISTINCT
Split.a.value('.', 'VARCHAR(100)') Kwd
FROM
(SELECT
T_Id,
CAST('<M>' + Replace(Supplimentary_keywords, ',', '</M><M>')
+ '</M>' AS XML) AS Data from KWD_Theaurus_tbl) AS A
CROSS APPLY
data.nodes ('/M') AS Split(a)
并得到错误
消息 9421,第 16 级,状态 1,第 1 行
XML解析:第1行,第11个字符,非法名称字符
如果我做错了,请帮助我如何实现或纠正我。
【问题讨论】:
-
为了能够纠正您,您必须先向我们展示您的代码!
-
请不要将代码示例或示例数据放入 cmets - 因为您无法对其进行格式化,所以阅读它非常困难....而是:更新您的问题,编辑它以提供附加信息!谢谢。
-
@marc_s 对不起!我只是想向你展示我的代码,这就是为什么
标签: sql sql-server tsql