0

I have the typical table:

LSRNbr  BatchNbr
111     1212
111     1414  

And the query should return:

LSRNbr   BatchNbr
111      1212, 1414

I was browsing for a solution to this and I found these two:

Solution 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

error:

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'.

Solution 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

error:

Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near 'XML'.

But none of them worked for me, see errors above please.

What could be the problem here?

I'm using Microsoft SQL Server 2005

Taryn
  • 242,637
  • 56
  • 362
  • 405
Somebody
  • 2,667
  • 14
  • 60
  • 100

1 Answers1

1

These are syntax errors.

You'll learn more from figuring out the particular error yourself:

Take a look at the syntax tree

Take a look at some good examples of what you're trying to do

If you still have trouble, feel free to ask more questions

Community
  • 1
  • 1
dfb
  • 13,133
  • 2
  • 31
  • 52