R和SQL如何只下载匹配的ID?

R和SQL如何只下载匹配的ID?,sql,r,Sql,R,我在R中有这个数据帧 df <- read.table(text=" id date paid_at binded_at 1 107 2016-12-16 2017-06-02 2017-06-07 2 107 2017-11-27 2017-06-02 2017-06-07 3 107 2017-11-28 2017-06-02 2017-06-07 4

我在R中有这个数据帧

df <- read.table(text="
              id date       paid_at    binded_at  
1            107 2016-12-16 2017-06-02 2017-06-07
2            107 2017-11-27 2017-06-02 2017-06-07
3            107 2017-11-28 2017-06-02 2017-06-07
4            109 2016-11-28 2017-01-01 2017-06-07
5            109 2017-11-29 2017-01-01 2017-06-07
6            110 2017-12-04 2018-01-01 2017-06-07", header=TRUE)

df对于这种情况,我更喜欢使用
rodbext

library(RODBCext)

conn <- odbcConnect(...) # edit as needed to form your connection

Result <- 
  sqlExecute(conn,
             "SELECT var1, var2, var3 
              FROM table 
              WHERE idvar = ?",
             idvar = df["id"],
             fetch = TRUE,
             stringsAsFactors = FALSE)

dplyr解决方案是否可以连接更多的表,并具有一些其他条件,如select*from t1,left join t2 on t1.id=t2.id,其中column2不为null,column3='23'是,但需要对数据库中的每个表进行
tbl
调用。它还要求您保留在中介中合并的任何值。我已经尝试过几次了,最终,我想通过
dplyr
进行连接,结果导致代码混乱。如果我有一个简单的连接,我通常会使用原始SQL和
dbGetQuery
。我可以在我的postgres msql数据库中使用“odbcConnect(…)”吗?
library(RODBCext)

conn <- odbcConnect(...) # edit as needed to form your connection

Result <- 
  sqlExecute(conn,
             "SELECT var1, var2, var3 
              FROM table 
              WHERE idvar = ?",
             idvar = df["id"],
             fetch = TRUE,
             stringsAsFactors = FALSE)
library(dplyr)

tbl(conn, "table") %>%
  filter(idvar %in% df$id) %>%
  select(var1, var2, var3) %>%
  collect()