我正在使用一个使用长SQL字符串的R脚本,我希望保持查询相对没有其他标记,以便允许在编辑器和应用程序之间进行复制和粘贴.我还希望能够跨行分割查询以提高可读性.
在RODBC文档中,该paste
函数用于从单独的块中构建查询,但我更喜欢不那么笨拙且引号和逗号较少的东西.谢谢你的帮助.
我正在研究如何将数据从服务器直接读入R中的数据框.过去我编写了超过50行的SQL查询(包含所有选择和连接).关于如何在R中编写长查询的任何建议?有没有办法在R中的其他地方编写查询,然后将其粘贴到代码的"sqlQuery"部分?
基本上我试图通过unlisting
和paste
-ing一个列表来派生SELECT语句的WHERE部分,其中列表名称代表数据库TABLE列和相应的列表值等于WHERE子句的参数.这是一个简化的例子......
lst <- list(DATE=as.Date('2015-10-25'), NUM="0001", PROD="SOMETHING")
lst
$DATE
[1] "2015-10-25"
$NUM
[1] "0001"
$PROD
[1] "SOMETHING"
Run Code Online (Sandbox Code Playgroud)
理想情况下,这将被转换为(从第二行开始的有趣位WHERE
):
"SELECT SOME_COLUMNS WHERE
DATE = '", lst$DATE, "' AND
NUM = '", lst$NUM, "' AND
PROD = '" lst$PROD ,"'")
Run Code Online (Sandbox Code Playgroud)
我很确定有人知道一些奇特的组合apply()
,
paste(..,collapse ="' AND ")
和/或substitute()
那可以以优雅的形式实现,但我被卡住了.