有没有办法使用 sqlQuery() 在 JOIN 条件下使用 data.frame?
我正在使用 RODBC 连接到 SQL Server,并且需要根据 R 中已有的 data.frame 限制初始结果集,因此它仅返回 200,000 条记录中的 4000 条记录。就像是....
My_Data<- as.data.frame(c(1,2,3,4,5,6,7,8))
my_Query<- paste("SELECT * FROM foo INNER JOIN ",My_Data,"ON foo.x = My_Data.x", sep="")
my_Answer<- sqlQuery(Connection, my_Query)
我可以通过将整个表拉入 R,然后删除不需要的数据来做到这一点,但必须有一种方法可以做到这一点。我已经在 FOR 循环中一次尝试了一个,但它比拉动整个表花费的时间更长。
My_Data<- as.data.frame(c(1,2,3,4,5,6,7,8))
my_DF <- data.frame()
for(i in 1:length(my_DF)){
a<- paste(my_Query,my_DF[i])
b<- sqlQuery(Connection,a)
my_DF<- rbind(my_DF, b)
}
print(my_DF)