在R中获取SQL Server的多个表结果

时间:2015-07-20 09:15:42

标签: sql-server r rodbc

我正在使用RODBC查询来自SQL SERVER的数据。 当结果包含两个表时,如何获取两个表?

目前我的代码如下

library(RODBC)
channel <- odbcDriverConnect("driver={SQL Server};server=xxxx;atabase=xx;uid=xx;pwd=xxx")
initdata<- sqlQuery(channel,paste("select * from roles;select * from seat"))
odbcClose(channel)

initdata仅包含来自表角色的结果

实际上,我的查询是一个存储过程,例如&#34; exec XXX&#34;并且存储过程返回多个表。我想知道是否有办法获得所有结果表。

2 个答案:

答案 0 :(得分:0)

为什么不使用2个结果或数据框?

dataframes:

initroles <- sqlFetch(channel, "roles")
initseats <- sqlFetch(channel, "seat")

结果集:

initroles <- sqlQuery(channel, "select * from roles")
initseats <- sqlQuery(channel, "select * from seat")

答案 1 :(得分:0)

我的语法可能有些偏差,但我会尝试

SELECT * FROM roles JOIN seat ON roles.id = seat.id

其中roles.idseat.id是链接角色和座位的ID变量。