Mysql dbGetQuery选择所有现有列
我想从数据库中选择一个列向量。如果缺少该列,我希望选择所有存在的列。但是,我不知道如何在我的查询中指定它 例如,要选择列Mysql dbGetQuery选择所有现有列,mysql,sql,r,dplyr,Mysql,Sql,R,Dplyr,我想从数据库中选择一个列向量。如果缺少该列,我希望选择所有存在的列。但是,我不知道如何在我的查询中指定它 例如,要选择列drat,我指定“从mtcars中选择drat”。假设我的列名是drat和colMissing 我的查询不起作用“从mtcars中选择drat,COLMISTING”作为错误:没有这样的列:COLMISTING 但是,我想要drat导出。如何确保导出所有现有列,并跳过不存在的列?在我的真实数据中,我有一个很长的列名称向量和许多数据库,所以我想自动完成它 虚拟示例: librar
drat
,我指定“从mtcars中选择drat”
。假设我的列名是drat
和colMissing
我的查询不起作用“从mtcars中选择drat,COLMISTING”
作为错误:没有这样的列:COLMISTING
但是,我想要drat
导出。如何确保导出所有现有列,并跳过不存在的列?在我的真实数据中,我有一个很长的列名称向量和许多数据库,所以我想自动完成它
虚拟示例:
library(DBI)
con <- dbConnect(RSQLite::SQLite(), ":memory:")
dbWriteTable(con, "mtcars", mtcars)
dbGetQuery(con, "SELECT * FROM mtcars") # select all columns
dbGetQuery(con, "SELECT drat, wt, disp, colMissing FROM mtcars", n = 6) # does not work as contains non existing columns name. How to export only existing ones?
库(DBI)
con我认为SQL并没有提供一种简单的方法来动态设置要以这种方式选择的列。我认为进行此类筛选的最简单方法是确定要动态连接的列,并以编程方式创建查询
cols