我有两个查询:第一个查询得到字符类型的ID列表,然后我想在另一个查询中使用这些ID。
library(RODBC)
connection<- odbcConnect(dsn=production; db=production, uid='user1', pwd='p@ssw0rd')
IDs_of_Events<-sqlQuery(connection,
"SELECT eventid
FROM ngh_events
WHERE event_period = 2"
)
Count_Attendes<-sqlQuery(connection,
paste("SELECT eventid, COUNT(attendee_ID)
FROM paid_events
WHERE eventid IN (", IDs_of_Events , ")
GROUP BY eventid", sep="")
)
问题是我无法将第一个查询结果中的事件ID列表连接为具有"EventID"、"EventID"、"EventID"
您必须使用paste
:将IDs_Of_Events
折叠为单个字符串
paste0("SELECT eventid, COUNT(attendee_ID)
FROM paid_events
WHERE eventid IN ('", paste(IDs_of_Events,collapse = "','") , "')
GROUP BY eventid")
请注意,我在其他部分添加了开头和结尾的单引号。如果你经常这样做,那么为paste
编写一个为你做这些事情的包装器是值得的。