从Shiny应用程序中的MYSQL中获取多行

时间:2016-06-19 09:12:00

标签: r shiny

我有一个连接到MySQL数据库的闪亮应用程序。对于我使用RMySQL库连接到MYSQL的一些查询。我的闪亮应用程序具有控件小部件,可以填充MYSQL中的值。其中一个小部件是selectizeInput,它呈现所有品牌的唯一名称。在R闪亮仪表板中使用此窗口小部件输出作为输入返回错误。以下是代码:

[1] "select * from tabletable where SUBBRAND like HYUNDAI CRETA"
[2] "select * from tabletable where SUBBRAND like HYUNDAI VERNA"

a的输出是一个带有两行的字符向量,如下所示:

[1] "select * from tabletable where SUBBRAND like (HYUNDAI CRETA, HYUNDAI VERNA")

相反,我想把它作为单个查询传递给mysql,如下所示:

media(id,media_type)
media_properties (id,prop_name)//in your case path.
media_to_properties ('media_id','prop_id','val') 

上面的代码帮助我从MYSQL中获取所有记录,其中subbrand就像Hyundai Creta或Hyundai Verna。

1 个答案:

答案 0 :(得分:1)

这是你想要的吗?

library(stringr)
SI <- c("HYUNDAI CRETA", "HYUNDAI VERNA")
SI <- str_c(SI, collapse = ",")
SI <- sub(",",'","',SI)
a <- noquote(paste0('select * from autotable where SUBBRAND like ("',SI,'")') )
a

[1]“从SUBBRAND中选择*从自动调整(HYUNDAI CRETA,HYUNDAI VERNA)”

编辑:使用双引号来满足您的数据库要求

{{1}}

[1]从SUBBRAND中选择*来自autotable(“HYUNDAI CRETA”,“HYUNDAI VERNA”)