R 如何从sql查询返回连接的值
我正在查询SQL Server数据库以返回连接的值。可能吗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
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;