查询只会返回列表

时间:2018-06-28 23:18:26

标签: r sql-server dplyr

我一直在使用R使用dbGetQuery成功查询运行SQL Server的数据库中的表。我正在尝试查询其他表,但由于错误而无法到达任何地方。我决定尝试并仅使用Dplyr。我已经阅读了多本指南,完全不知所措。

我正试图查询一个小表以作为测试。这是我的代码

con <- dbConnect(odbc::odbc(), Driver = "SQL Server", Server = "server address", 
             database = "database") 
df <- tbl(con, "doctor")

它返回2的列表而不是表。有人可以指出我的方向。我猜想我对R或Sql不太了解。

编辑:以下是有关上述代码输出的一些信息

>  class(df)
[1] "tbl_dbi"  "tbl_sql"  "tbl_lazy" "tbl" 

添加收集

df <- tbl(con, "doctor") %>%
  collect

确实解决了问题。这是使用collect运行后的信息

> class(df)
[1] "tbl_df"     "tbl"        "data.frame"

在阅读了收集上的小插图后,我了解了在这种情况下的作用。我仍然不明白为什么在指南中他们不需要使用collect。

谢谢!

0 个答案:

没有答案