RODBC-一个sqlQuery()调用中的多个表[重复]
Posted
技术标签:
【中文标题】RODBC-一个sqlQuery()调用中的多个表[重复]【英文标题】:RODBC - multiple tables in one sqlQuery() call [duplicate] 【发布时间】:2012-04-11 20:09:07 【问题描述】:我正在使用 RODBC 将数据从现有 SQL 数据库中提取到 R 中。我正在尝试一次调用多个查询/表。
例如:
test2=sqlQuery(channel,'select top 10 * from bug; select top 10 * from site')
这只返回第一个表。我有兴趣这样做,因为我想调用一个更复杂的存储过程,其他协作者正在使用并继续开发......这个过程返回 3 个表(在存储过程 (#) 中设置为临时表以满足我们的其他数据需求/用途)。
所以,当我调用存储过程时,类似于上面的两个查询场景,它只返回第一个表作为结果。
有什么建议的解决方法吗?
【问题讨论】:
【参考方案1】:我认为你不能让它在 RODBC 中工作;据我所知,它需要来自数据库的单个结果集。
但是,您可以修改 SQL 以在单个查询中获取这两个值:
SELECT
(SELECT COUNT(*)
FROM bug) AS bugcount,
(SELECT COUNT(*)
FROM site) AS sitecount;
【讨论】:
以上是关于RODBC-一个sqlQuery()调用中的多个表[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何让 sum 函数在 RODBC 中的 SQLquery 中工作
RODBC:为啥 sqlQuery() 中的空值和仅空格值的值为“NA”?
带有临时表的 RODBC::sqlQuery 提供空字符向量,尽管查询在 SSMS 中工作,较小的查询在相同的连接下工作