我在R(Rdataframe)中有一个数据框/列表,我想直接在RODBC查询中使用
Rdataframe= c('123456','234561','678912')
a= sqlQuery(connection, "Select * from table A where A.Id in Rdataframe")
并且查询必须是这样的,即我不能先在R中拉表,然后进行查找
所以我认为它只有在它会以如下格式出现时才能运行
a= sqlQuery(connection, "Select * from table A where A.Id in ('123456','234561','678912'))
但是尽管有几次sprintf和paste的尝试,我仍然没有成功。
这是我试图尝试但失败的原因
attempt1= sqlQuery(connection, sprintf("Select * from table A where A.Id in %s", Rdataframe))
attempt2=paste(Rdataframe, sep=",")
然后在查询中使用此尝试2结构。
每一个帮助都很重要
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)
给出输出
[1]“从表A中选择*,其中A.Id in('123456','234561','678912')”