【发布时间】:2022-01-17 10:12:46
【问题描述】:
我有一个连接多条记录的 stuff 函数,我在每第二条记录后放置一个换行符,它适用于这个查询:
STUFF((
SELECT CASE WHEN ROW_NUMBER() OVER (order by new_name) % 2 = 1 THEN CHAR(10) ELSE ',' END + new_name
FROM new_subcatagories
FOR XML PATH('')), 1, 1, '')
结果是
Auditory,Kinesthetic vestibular
Multitasking,Planning & organization
Proprioception,Tactile
Vestibular tactile,Visual
但我现在想用另一个我需要 DISTINCT 的列来做这个,但我无法让它工作我的查询是:
STUFF((
SELECT distinct (CASE WHEN ROW_NUMBER() OVER (order by new_maincatgoriesname) % 2 = 1 THEN CHAR(10) ELSE ',' END
+ new_maincatgoriesname)
FOR XML PATH('')), 1, 1, '')
我得到的结果是多种意想不到的方式,例如
Executive Function
Sensory Discrimination
Sensory modulation ,Multitasking,Sensory Discrimination,Sensory modulation
或其他意想不到的方式,我希望结果是
Executive Function,Sensory Discrimination
Sensory modulation,Multitasking
如果有人可以帮助我,将不胜感激。
【问题讨论】:
标签: sql sql-server tsql