【发布时间】:2021-04-08 12:06:10
【问题描述】:
for (int i = 0; i < arraywellslistsplit.length; i++) {
String wellid = arraywellslistsplit[i];
System.out.println(wellid);
String sql = "select date_part('year', \"Date\") as year ,\"Oil\",concat(date_part('year',\"Date\"),'-
',date_part('month',\"Date\")) as year_mon from table where \"Well ID\"= "+wellid+" group by
year,\"Oil\",year_mon,\"Date\" order by \"Date\"";
System.out.println("\nExecuting query: " + sql);
return getJdbcTemplate().query(sql, (rs, row) -> {
X xy= new X();
xy.setDate(rs.getString("year"));
xy.setOil(rs.getString("Oil"));
xy.setYear_mon(rs.getString("year_mon"));
System.out.println("listyear_mon :: "+(rs.getString("year_mon")));
return xy;
});
}
我想返回所有井号值,而不仅仅是一个井号值。即使我一直在 for 循环中,我也只得到一个 wellid 列
【问题讨论】:
-
请只标记一个单个 RDBMS...而不是3个...
-
我删除了冲突的 DBMS 标签。请为您真正使用的数据库产品添加一个标签。
-
where "Well ID" IN (...)? -
与您的问题无关,但是:您应该真正避免使用那些可怕的带引号的标识符。他们的麻烦比他们值得的要多得多。 wiki.postgresql.org/wiki/…
-
where "Well ID" IN (),我可以使用,但会将所有列作为单个 JSON 获取,但我希望它们像每个井 ID 一样分开。