Somebody
Somebody

Reputation: 2779

inserting multiple values into a single cell using sql 2005

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

Upvotes: 0

Views: 543

Answers (1)

dfb
dfb

Reputation: 13289

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

Upvotes: 1

Related Questions