将R数据帧带入带有粘贴功能的sql可用列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将R数据帧带入带有粘贴功能的sql可用列表相关的知识,希望对你有一定的参考价值。

我在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')”

以上是关于将R数据帧带入带有粘贴功能的sql可用列表的主要内容,如果未能解决你的问题,请参考以下文章

R列表/数据帧到JSON对象数组

R-如何在列表上循环并输出不同的数据帧

R dplyr:将剪切和粘贴转换为调用函数

将 XTS 对象作为数据帧存储在 R 的列表中

将数据帧列表转换为R中的单个数据帧[重复]

读取R中的CSV作为数据帧