2017-03-07 208 views
-4

我基本上正在运行一个查询来获取特定年份的ID给定条件。 例如在sql查询中通过for循环或应用函数生成多个表

table.2001=dbGetquery(conn,"Select ID from base table where x > 3 and year = 2001") 

现在在这里我要重复过去的一年,(2001至2015)和我得到的输出table.2001,table.2002,table.2003等每年。

+0

你的问题是什么?你想从SO知道什么? –

+0

选定年份使用[SQL IN](https://www.w3schools.com/sql/sql_in.asp),然后使用[R函数拆分](https://stat.ethz.ch/R-manual/R -devel/library/base/html/split.html)将数据框分割成基于“年”列的数据框列表。或者阅读关于如何将[字符串传入SQL语句作为变量名称](http://stackoverflow.com/q/17435086/680068) – zx8754

+0

您是否真的想为每年创建表或者只是将结果集存储在某个变量中? – Maverick

回答

0
for (i in (2001:2003)) { 
    assign(paste0("df",i),dbGetquery(conn,paste0("Select ID from base table where x > 3 and year = ",i))) 
} 
+0

@ r.user.05.apr - 超级先生!它的工作,这就是我一直在寻找! – Pb89