R和SQL查询一起格式化

时间:2017-10-01 14:42:21

标签: mysql sql r

我有以下ID列表,我试图通过R输入到SQL查询。

  ID<-c("‘3CS3PJ478’, ‘N6LQ1CMW1’, ‘4J9GNYHC8’, ‘6H8D3A1P0’")

R

中的SQL查询
UKSQL6<-data.frame(sqlQuery(myConn, paste("SELECT TOP 100 [AxiomaDate]
                      ,[RiskModelID] ,[IID],[Factor1],[Factor2],[Factor3],[Factor4]FROM [PortfolioAnalytics].[Data_Axioma].[SecurityExposures]
                      Where AxiomaDate IN (
                        SELECT   MAX(AxiomaDate)
                        FROM     [PortfolioAnalytics].[Data_Axioma].[FactorReturns]
                                  GROUP BY MONTH(AxiomaDate), YEAR(AxiomaDate)
                      AND  IID IN (", paste(ID, collapse = ", "), ")")))

现在,当我粘贴ID(在查询的最后一行)时,它的格式不正确,因此查询无效。 ID对象中的第一个和最后一个字符是“”,它不适用于SQL查询。有没有一种简单的方法可以删除它,以便它们与我上面的查询兼容?

1 个答案:

答案 0 :(得分:2)

不幸的是,您无法将列表作为参数传递给SQL。所以,你必须使用查询字符串。

我认为这可以满足您的需求:

IID IN ('", paste(ID, collapse = "', '"), "')")))

字符串值需要单引号。