我看过类似的问题,但感觉这不是重复的问题。我想通过连接将行连接成单个字符串。我很困惑如何继续。语法低于 我收到一个错误“数据库中已有一个名为'#TEMPTABLE'的对象。”我也不确定我的第二个select语句的sytax是否正确,有帮助?将行连接成单个文本字符串
SELECT DISTINCT DisplayName, addrSt, addrCntyName,
RIGHT('00' + CONVERT(varchar, addrStFips), 2) + RIGHT('000' + convert(varchar, addrCntyFips), 3) AS addrFips
INTO #TEMPTABLE
FROM PPP
INNER JOIN poa ON PPP.OAJ = poa.OAJ
INNER JOIN dcPfp ON PfpPayor.KEYF = dbo.dcPfp.KEYJ
INNER JOIN ProvOff ON ProvOffAfl.OJK = ProvOff.OJK
SELECT DISTINCT
addrFips,
STUFF
(
(
SELECT ',' + DisplayName
FROM #TEMPTABLE M
WHERE M.addrFips = B.addrFips
ORDER BY DisplayName
FOR XML PATH('')
),1,1,''
) AS DISPLAYNAMES
FROM #TEMPTABLE B
DROP TABLE #TEMPTABLE
那么,你的错误意味着在再次运行查询之前,你还没有删除'#TEMPTABLE'。首先执行'DROP TABLE',然后从开始开始 – Lamak 2014-10-09 13:36:11
添加'IF OBJECT_ID('tempdb ..#TEMPTABLE')不为NULL DROP TABLE#在您的SQL之前的结果并再试一次:-) – bummi 2014-10-09 13:38:10
扩展在bummi的建议在执行他建议的陈述后使用批次分隔符“GO”。 – 2014-10-09 13:42:27