if (!"".equals(docIdOfAttachmentList) && docIdOfAttachmentList != null) { string isextfile = "SELECT isextfile FROM docimagefile WHERE docid = ? AND imagefileid = ( SELECT MIN(imagefileid) FROM docimagefile WHERE docid = ?)"; for (int i = 0; i < docIdOfAttachmentList.size(); i++) { String tmptsql = "SELECT MAX(imagefileid) AS imagefileid FROM docimagefile WHERE docid=? AND (isextfile IS NULL OR isextfile='')GROUP BY id ORDER BY imagefileid DESC"; rs.executeQuery(tmptsql, docIdOfAttachmentList.get(i)); while (rs.next()) { imagegileIdOfAttachmentList.add(rs.getString("imagefileid")); } } } 需要添加判断 如果查出来的sql 中imagefileid是最小的而且 isextfile 等于1 则 获取 docimagefile 表下 docfiletype=12得所有值 应该怎么写
时间: 2024-01-31 13:02:21 浏览: 96
您可以在 while 循环中添加一个 if 判断,判断当前查询出来的 imagefileid 是否是最小的并且 isextfile 等于 1,如果是,则再次查询 docimagefile 表下 docfiletype=12 的所有值,并把它们添加到一个列表中。具体代码如下:
```
if (rs.isFirst() && rs.getInt("isextfile") == 1) {
String fileTypeSql = "SELECT * FROM docimagefile WHERE docid=? AND docfiletype=12";
rs2.executeQuery(fileTypeSql, docIdOfAttachmentList.get(i));
while (rs2.next()) {
attachmentList.add(rs2.getString("imagefileid"));
}
}
```
在这里,attachmentList 是一个列表,用于存储所有符合条件的 docimagefile 表下 docfiletype=12 的值。请注意,在添加这段代码之前,您需要在方法开始处初始化一个新的 ResultSet 对象 rs2。
阅读全文