簡體   English   中英

如何在SQL WHERE IN語句中的R中使用字符串

[英]How to use character string in R inside SQL WHERE IN statement

我想在SQL查詢的WHERE子句中使用一串字符ID。 我的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查詢必須是字符串,但是我不知道如何正確處理。

我們可以使用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)

這應該工作:

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
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM