2011-09-27 53 views
2

我正在尝试在rmysql中执行查询以从数据库中获取数据。我想要匹配的列中有一个idNumbers列表,并从数据库中提取记录。rmysql匹配列表中的数字

R数据帧:DF1

idNumColumnInR  saleAmt 
    345     22.34 
    456     44.53 
    678     77.87 
    ...     ... 

我认为这会是这样的,从数据库去 - > R:

select * from dataBase where idNum in (df1$idNumColumnInR). 

我可以只使用一个for循环,去通每行如果还有更好的方法,那就很好奇。

+0

你是问如何'paste'像这样的查询一起,或者是你询问是否有不只是'paste'ing一起更好的办法? – joran

+0

我正在寻找后者。 – screechOwl

回答

2

您不需要使用循环来使用paste()。

例如:

df1 <- data.frame(idNumColumnInR=c(345,456,678), 
saleAmt=c(22.34,44.53,77.87)) 

qry <- paste("SELECT * from dataBase where idNum in (", 
paste(df1$idNumColumnInR, collapse=","),")" ) 
+0

太棒了!非常感谢你! – screechOwl