Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何从sql查询返回连接的值_R_Sql Server - Fatal编程技术网

R 如何从sql查询返回连接的值

R 如何从sql查询返回连接的值,r,sql-server,R,Sql Server,我正在查询SQL Server数据库以返回连接的值。可能吗 cnn <- odbcConnect("CN") query = gsub("\n", " ", " DECLARE @Price VARCHAR(50) = '' SELECT @Price =+ @Price + [Price] + ' + ' FROM [dbo].[wine] SELECT @Price") query dataset1 &l

我正在查询SQL Server数据库以返回连接的值。可能吗

cnn <- odbcConnect("CN")
query = gsub("\n", " ", " DECLARE @Price VARCHAR(50) = ''
SELECT @Price =+ @Price + [Price] + ' + '
FROM [dbo].[wine]
SELECT @Price")
query

dataset1 <- sqlQuery(cnn, query)
dataset1

为什么不使用字符串聚合而不是这种相当不安全的
=+
语法呢

declare @price nvarchar(max);
select @price = string_agg(price, ' + ') from [dbo].[wine];
select @price;
请注意,您可能需要超过50个字符来存储这25个价格;我使用了
nvarchar(max)


我真的建议不要使用T-SQL中用于sting聚合的
选择@Price=+@Price…
这样的语法。对XML路径使用更可靠的解决方案,如
STRING\u AGG
。至于错误(
无效的对象名“dbo.wine”
),它会告诉您问题所在。我怀疑您没有连接到正确的数据库。另外,为什么您的
年份
年龄
价格
列定义为
nvarchar
?它们应该是数字数据类型,
Age
应该是计算值;否则,一旦我们在插入值后进入新的一年,它就会出错。
declare @price nvarchar(max);
select @price = string_agg(price, ' + ') from [dbo].[wine];
select @price;