必须声明标量变量错误 [英] Must declare scalar variable error
本文介绍了必须声明标量变量错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我得到必须声明标量变量错误
我尝试过:
DECLARE @ Table1 < span class =code-keyword>表(ID INT ,值 INT )
INSERT INTO @ Table1 < span class =code-keyword> VALUES ( 1 , 100 ),(< span class =code-digit> 1 , 200 ),( 1 ,< span class =code-digit> 300 ),( 1 , 400 )
SELECT ID
,STUFF(( SELECT ' ,' + CAST(值 AS VARCHAR ( 10 ))[ text ()]
FROM @ Table1
WHERE ID = 1
解决方案
不清楚您的查询尝试做什么,看起来不完整。我猜这是你想要做的。如果不是这样,请告诉我们。
DECLARE @ Table1 TABLE (ID INT ,值 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
输出:
ID测试
1 100,200,300,400
Hi
I am getting Must Declare Scalar variable Error
What I have tried:
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
解决方案
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.
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
这篇关于必须声明标量变量错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文