[英]HSQLDB & DBUnit, Cannot find column from ResultSetMetaData when using allias on SQL query
[英]Using ResultSetMetaData to frame SQL query
我正在尝试使用ResultSetMetaData来构架SQL查询,以动态检查表中是否有重复的记录。
用于检查重复记录的查询将如下所示
select
col1,
col2,
col3
from Table A
group by
col1,
col2,
col3
having count(*)>1
这段代码大部分都是样板代码,我可以使用ResultSetMetaData提取表的所有列。 但是我不确定如何以一种优雅的方式来处理最后一个缺少的逗号。
在这种情况下,我倾向于使用番石榴图书馆的Joiner 。 与细木工,你可以写像
String.format(
"select %1$s from table %s group by %1$s having count(*) > 1",
"tablename",
Joiner.on(",").join("col1","col2","col3")
);
如果您使用的是Java 8,则可以改用String.join 。
如有必要,请检查表名是否正确引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.