2

データベースからデータを取得するためにrmysqlでクエリを実行しようとしています。照合してデータベースからレコードをプルしたい列にidNumbersのリストがあります。

Rデータフレーム:df1

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

db-> Rから行くようなものだと思います:

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

forループを使用して列の各行を通過することもできますが、もっと良い方法があるかどうか興味がありました。

4

1 に答える 1

3

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=","),")"  )
于 2011-09-29T16:27:08.937 に答える