2017-12-21 4 views
0

Ich habe eine Datenrahmen/Liste in R (Rdataframe), die ich direkt in RODBC Abfrage so etwas wieBringen eines R Datenrahmen in eine SQL verwendbare Liste mit Paste-Funktion

Rdataframe= c('123456','234561','678912') 
a= sqlQuery(connection, "Select * from table A where A.Id in Rdataframe") 

Und die Abfrage verwenden möchten, muss sein so, also kann ich die Tabelle zuerst in R nicht ziehen und haben die aufblicken dann

Also ich denke, es nur laufen kann, wenn sie in dem Format wie

a= sqlQuery(connection, "Select * from table A where A.Id in ('123456','234561','678912')) 

Aber trotz kommen mehrere Versuche von s printf & Paste Ich bin immer noch nicht erfolgreich. Diese

ist, was ich versuchte, aber nicht

attempt1= sqlQuery(connection, sprintf("Select * from table A where A.Id in %s", Rdataframe)) 

attempt2=paste(Rdataframe, sep=",") 

um zu versuchen, und dann diesen Versuch 2 Struktur in Abfrage verwenden.

Jede Hilfe ist wichtig

+0

Können Sie die von Ihren Versuchen generierte Zeichenfolge posten? –

Antwort

1
Rdataframe= c('123456' , '234561' , '678912') 
df_str = paste(Rdataframe , collapse = "','" , sep=" ") 
queryStr = paste("Select * from table A where A.Id in ('" ,df_str , "')" , sep="") 
print(queryStr) 

der Ausgang gibt

[1] „Wählen Sie * aus Tabelle A, wo A.Id in ('123456', '234561', '678912') "

Verwandte Themen