去掉重复行的问题?

weixiangerdou weixiangerdou 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
就两张的查询,两张的关系是一对多的关系,这张表adrReport对应这一张表adrMedDetail是一对多的关系,现在我将所写的方法及查询的语句给大家看看:
public ActionForward selectHitInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
AdrReportForm adrReportForm = (AdrReportForm) form;
DetachedCriteria dc = DetachedCriteria.forClass(AdrReport.class);
Connection conn = DBConnect.getDBConnect(); //调用jdbc连接的方法
String result = request.getParameter("result");

String sql = "select a.*,b.CurrentName, b.MedicationName, b.dosage from "
+ "adrReport a, adrMedDetail b where "
+ "a.id = b.reportid and result like '%"+result+"%' "; // 取出表中的相关数据
PreparedStatement psm = conn.prepareStatement(sql);

ResultSet rs = psm.executeQuery();
List list = new ArrayList();
while(rs.next()) {
HitDrugStat hit = new HitDrugStat();
hit.setOrgName(rs.getString("orgname"));
hit.setDegree(rs.getString("degree"));
hit.setAdrName(rs.getString("adrname"));
hit.setResult(rs.getString("result"));
hit.setHappenDate(rs.getDate("happenDate"));
hit.setSufferName(rs.getString("sufferName"));
hit.setSignOfReporter(rs.getString("signOfReporter"));
list.add(hit);

}
request.setAttribute("listone", list);

return mapping.findForward("hitdrugStat");
}

因为是这一个条件 a.id = b.reportid , reportid是可以重复的,所以它查出来有重复的记录,它所代表的意思就是可以有多个药品(的reportid),而adrReport表中有一个不良反应名称的字段adrName,(比如:发烧、头痛),所以,可能是由多个药品所引起的不良反应症状(比如说:有可能是白加黑、感康等药品)。
现在所要解决的问题就是:以上的SQL语句查出来的有重复的记录,怎么去掉重复的行?这个问题应该如何解决?先谢谢各位朋友了,帮帮忙!
...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
weixiangerdou
Web 开发 81,108 成员 341,721 内容