【发布时间】:2017-06-09 02:03:48
【问题描述】:
我想将一个表与自身进行左外连接,以便获得额外的列。
我有一个表格,将序列号和操作收集为日志。我想根据序列号加入两个动作 a1 和 a2。返回的结果应该有serialNumber、a1和a2。如果 a2 不存在,它将为空。当我使用 where 语句时,它只会返回同时具有 a1 和 a2 的 serialNumber。
"select l.serialNumber, l.time, s.time "
+ "from Log as l left outer join Log as s "
+ "ON s.serialNumber = l.serialNumber "
+ "where s.action = 'a2' AND l.action= 'a1' "
+ "AND l.time >= '" + start.getTime() + "' "
+ "AND l.time <= '" + end.getTime() + "' "
我在尝试运行上述查询时遇到异常:org.hibernate.TransactionException。
【问题讨论】: