【发布时间】:2014-06-17 07:32:51
【问题描述】:
我有两个表,第一个,dbo.QuestionaireResponse 包括列 PersonID (int not null)、ApplicationID (int not null) 和 RaceIDs。 PersonID 是一个基本的 ID 列,但 RaceIDs 是一个 varchar(255),其中包含以逗号分隔的 ID 字符串(我知道设计不好)。另一个表是类型表 dbo.Race,有两列,RaceID(int 标识)和 RaceDescription(某种 varchar)。我需要以以下两种格式之一输出表格:
- PersonID、RaceDescription 作为一对多关系
- PersonID、RaceDescriptions(比赛描述列中以逗号分隔的值字符串)
在我的研究中,我遇到了这篇帖子 http://ole.michelsen.dk/blog/split-string-to-table-using-transact-sql/,但它不太适合这个问题,因为必须对列中的每条记录进行拆分。
除了数据之外,我最终将类型表传递给了 web 服务,但我很好奇是否还有其他可行的解决方案。在这种情况下,性能很重要,尽管类型表确实有少量或记录。
关于如何在 sql server 中执行此操作的任何建议?
【问题讨论】:
标签: sql sql-server string replace string-split