Click here to Skip to main content
15,886,919 members
Please Sign up or sign in to vote.
1.44/5 (2 votes)
Hi I am getting Must Declare Scalar variable Error

What I have tried:

SQL
DECLARE @Table1 Table (ID INT, Value INT)
INSERT INTO @Table1  VALUES (1,100),(1,200),(1,300),(1,400)

SELECT  ID
       ,STUFF((SELECT ', ' + CAST(Value AS VARCHAR(10)) [text()]
         FROM @Table1 
         WHERE ID = 1
Posted
Updated 24-Mar-17 3:56am
Comments
Richard MacCutchan 24-Mar-17 9:47am    
Um, somewhere in the above code.
Member 12605293 24-Mar-17 9:51am    
Hi sir
What is wrong in my code

1 solution

Not clear what your query is trying to do, look like it is incomplete. I'm guessing this is what you trying to do. Let us know if that not the case.

SQL
DECLARE @Table1 TABLE (ID INT,Value INT)

INSERT INTO @Table1
VALUES (1,100)
	,(1,200)
	,(1,300)
	,(1,400)
	,(2,300)
	,(2,400)

SELECT DISTINCT ID
	,STUFF((
			SELECT ', ' + CAST(ST1.value AS VARCHAR(10)) AS [text()]
			FROM @Table1 st1
			WHERE st1.id = st2.ID
			FOR XML PATH('')
			), 1, 2, '') test
FROM @Table1 ST2
WHERE ST2.ID = 1

Output:
ID	test
1	100, 200, 300, 400
 
Share this answer
 
v2
Comments
Member 12605293 24-Mar-17 10:01am    
Hi Bryian
Can I try this query in my db???
Bryian Tan 24-Mar-17 10:04am    
Sure. Are you using MS SQL Server?
Member 12605293 24-Mar-17 10:06am    
Yes Bryian..I have the same error
Member 12605293 24-Mar-17 10:10am    
Hi Bryian,
This is working good

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900