0
나는 전형적인 테이블이 있습니다은 SQL 사용하여 하나의 셀에 여러 값을 삽입하는 2005
LSRNbr BatchNbr
111 1212
111 1414
그리고 쿼리가 반환해야합니다을 :
LSRNbr BatchNbr
111 1212, 1414
나는이에 솔루션을 검색했다
내가 발견 이 두 :
해결 방법 1 :
;WITH C AS
(
SELECT LSRNbr, BatchNbr FROM tblDTS_LSRBatch
)
SELECT Distinct LSRNbr,
STUFF((SELECT ';' + BatchNbr FROM tblDTS_LSRBatch WHERE LSRNbr = c.LSRNbr FOR XML PATH('')),1,1,'')
FROM C
오류 :
Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ';'.
Msg 170, Level 15, State 1, Line 7
Line 7: Incorrect syntax near 'XML'.
해결 방법 2 :
SELECT
[LSRNbr], REPLACE(RTRIM((SELECT [BatchNbr] + ' ' FROM tblDTS_LSRBatch WHERE (LSRNbr = Results.LSRNbr) FOR XML PATH (''))),' ',', ') AS NameValues
FROM tblDTS_LSRBatch Results
GROUP BY LSRNbr
오류 :
Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near 'XML'.
그러나 그들 중 누구도 나를 위해 일한이, 위의 오류를 좀 보여 주 .
여기에서 문제가 될 수있는 것은 무엇입니까?
나는 마이크로 소프트 SQL 서버를 사용하고 2005
완벽한, 도와 주셔서 감사합니다 :) – Somebody
뭔가 SQL 서버의 내 버전과 관련, 원인은 내가 SQL 2008에서 동일한 일을하고 작동합니다 : ( – Somebody
오우 ....이 모든 일이 항상 저에게 일어납니다. 미안해 내가 너를 그릇 인도했다면. – dfb