我想在SQL查询的WHERE子句中使用字符in字符串。我的id对象如下所示
ids
[1] "0000000000000000010000001" "0000000000000000010000002" "0000000000000000010000003"
[4] "0000000000000000010000004" "0000000000000000010000005" "0000000000000000010000006"
[7] "0000000000000000010000007" "0000000000000000010000008" "0000000000000000010000009"
[10] "0000000000000000010000010"我想将该对象插入到此SQL查询中:
student <- sqlQuery(con,
"select
FSAS.a_id,
FSAS.grade,
FSAS.score,
FSAS.placement,
FSAS.start,
FSAS.completion
FROM db.Fact AS FSAS
WHERE FSAS.a_id IN ids"
)我认为整个SQL查询必须是一个字符串,但我不知道如何正确处理。
发布于 2019-11-26 04:43:07
我们可以使用paste来创建表达式
expr1 <- sprintf("select
FSAS.a_id,
FSAS.grade,
FSAS.score,
FSAS.placement,
FSAS.start,
FSAS.completion
FROM db.Fact AS FSAS
WHERE FSAS.a_id IN (%s)", paste0(sQuote(ids, q = FALSE), collapse=", "))
sqlQuery(con, expr1)发布于 2019-11-26 04:44:36
这应该是可行的:
qry = paste("select
FSAS.a_id,
FSAS.grade,
FSAS.score,
FSAS.placement,
FSAS.start,
FSAS.completion
FROM db.Fact AS FSAS
WHERE FSAS.a_id IN", ids, sep = "")
student <- sqlQuery(con,
qry
)https://stackoverflow.com/questions/59039732
复制相似问题