R和SQL如何只下载匹配的ID?
我在R中有这个数据帧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
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()