0
我需要MySQL的幫助,因爲我是新手。嵌套where子句我mysql給sql grammmar異常
基本上對於一個選定的日期範圍,我需要在一個名爲UniwareReport
的表中存在跟蹤號的記錄數,不存在於MisReport
以下是我的嘗試,但我知道這是不對的。
select count (*) from UniwareReport
where invoiceCreated >=:sDate
and invoiceCreated <=:eDate
and TrackingNumber NOT IN(select airwayBill from MisReport)
@Override
public Long getUniwareReportsCountInDateRange(String param) throws ParseException {
String sDate = param;
String eDate = param;
//String oId = saleOrderNumber.trim();
Query query;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
if (param.contains("-")) {
String date[] = param.split("-");
sDate = date[0];
eDate = date[1];
}
query = sessionFactory.getCurrentSession().createQuery(
"select count (*) from UniwareReport where invoiceCreated>=:sDate and invoiceCreated <=:eDate and (SELECT trackingNumber from UniwareReport where trackingNumber NOT IN(select airwayBill from MisReport))");
Date startDate = DateUtils.addToDate(dateFormat.parse(sDate), Calendar.DATE, 0);
Date endDate = DateUtils.addToDate(dateFormat.parse(eDate), Calendar.DATE, 1);
query.setParameter("sDate", startDate);
query.setParameter("eDate", endDate);
//query.setParameter("oId", oId);
return (Long) query.uniqueResult();
}
請包括包含此SQL查詢的代碼。 – Eran
併發布錯誤消息的所有詳細信息。 – Glorfindel