0

我有一个名为服务条目的表,我试图创建一个连接字符串。

ID  ServiceEntryID  PartID  Comment  ServiceTypeIDs  PartDescription
1        2           54      xyz      1               hellothere
2        2           22                               howdy
3        33          54      uhu      1               xyz

所需的字符串格式

PartID~PartDescription~ServiceTypeIDs~评论

所需的字符串值

因此对于值为 2 的服务条目 ID 列:

54~你好~1~xyz | 22~你好~空~|

对于值为 33 的服务条目 ID 列:

33~xyz~1~uhu

如果条目没有注释,那么我不会为其添加 null,而如果 servicetypeids 为空,那么我将添加 null

4

2 回答 2

2
SELECT
     ServiceEntryID,
     STUFF(
         (SELECT '|' + CAST(PartID AS VARCHAR(5)) + '~' +
                       PartDescription  + '~' +
                       COALESCE(CAST(ServiceTypeIDs AS VARCHAR(5)), 'NULL')  + '~' +
                       COALESCE(Comment, 'NULL')
          FROM TableName
          WHERE ServiceEntryID = a.ServiceEntryID
          FOR XML PATH (''))
          , 1, 1, '')  AS ResultList
FROM TableName AS a
WHERE ServiceEntryID = 2
GROUP BY ServiceEntryID
于 2013-02-22T16:24:20.263 回答
0
Select   coalesce(partID,'NULL') +'~'+ 
coalesce(PartDescription,'NULL') +'~'+ 
 coalesce(ServiceTypeIDs,'NULL') +'~'+
 coalesce(Comment,'NULL') as DesiredStringFormat
FROM yourTableName

当任何字段为 NULL 时,上述内容将替换单词“NULL”。

http://msdn.microsoft.com/en-us/library/ms190349.aspx

于 2013-02-22T16:24:10.340 回答