我正在尝试弄清楚当需要连接多个表时如何使用dplyr来执行我的SQL查询。例如,如果我们使用pool
连接到数据库:
require(pool)
require(dplyr)
my_db <- dbPool(
RMySQL::MySQL(),
dbname = "shinydemo",
host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com",
username = "guest",
password = "guest"
)
在加入表格之前,我们必须这样做:
city <- my_db %>% tbl("City")
country <- my_db %>% tbl("Country")
clang <- my_db %>% tbl("CountryLanguage")
join_data <- left_join(city, country, by = c("CountryCode" = "Code")) %>%
left_join(., clang)
这是正确的方法吗?或者是否存在表示不必手动预定义表的方法?
或者,从answer开始,任意SQL代码都可以与dplyr
一起使用。但是,如果我要复制并粘贴现有查询,也许没有必要切换到dplyr
?