【问题标题】:How to get values from SQL query for every well id in Java?如何从 SQL 查询中获取 Java 中每个井号的值?
【发布时间】: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 一样分开。

标签: java sql jdbc


【解决方案1】:

你只能得到一个很好的细节,因为循环只运行一次,因为当代码到达return 语句时,它会从循环中跳出。所以不要在循环中使用 return 语句。

【讨论】:

  • 是的,但这是我现在遇到的问题。我是 java 的学习者。我不知道如何编写语句。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 2019-05-28
  • 2014-10-26
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
相关资源
最近更新 更多