1
的问题 -应用或用于循环在SQL查询R.
如何使用应用函数或for循环,以便在不同的值以下运行此查询
运行查询
dbgetQuery(conn, " SELECT ID , Name , Date , Product
FROM table xyz
where Year = i ")
其中i为年(2010年至2016年)
如何获得 table.2011 = 2011年的数据(ID,名称,日期,产品) table.2012 =数据f或2012年(ID,名称,日期,产品) 等等..每年。
你正在使用什么类型的数据库? (由于DBI中的所有数据库都不相同,因此所有数据库在DBI中都有所不同),因此驱动如何执行参数化查询。有关“数据框架列表”的SO有很多问题,因为'dbGetQuery'应该返回一个数据。框架,方法将是相同的。 (这是一个强烈的建议*反对*有'table.2011'和'table.2012',而不是'list'data.frames。) – r2evans
确定如何获取这个问题中的data.frames列表。 SQL Db,通过JDBC连接 – Pb89
'sapply(2010:2016,function(i)dbGetQuery(conn,“...”))'。你不应该直接将值插入到查询字符串中,而应该使用[参数化查询](http://stackoverflow.com/questions/4712037/what-is-parameterized-query)。不幸的是,*所有的数据库都以不同的方式做* 'RPostgres'使用'$ 1','RSQLite'使用':varname','RSQLServer'使用'?1'等。你说*“SQL Db”*不会缩小范围。 *“你在使用什么类型的数据库?”(续...) – r2evans