可以写成:
SELECT mo,cellname,bsc,region,town,Round(bpi24, 0),thour|| ':00',dhour,
decode(result_,0,'网外干扰 - cdma杂散干扰',
1,'网内干扰 - 互调干扰',
2,'网内干扰 - 频点干扰',
3,'网内干扰 - 直放站干扰',
4,'网外干扰 - 直放站干扰',
5,'网内干扰',
6,'网外干扰',
7,'无法确定',
8,NULL,'其他'
) as result_,
freq
FROM cy_fasdata_itas ts
WHERE 1 = 1
AND bpi24 > -1
AND ttime = '2013-07-08'
AND mo IN (SELECT mo
FROM cy_fasdata_itas ts
WHERE ttime IN ( '2013-07-08', '2013-07-01' )
GROUP BY mo
HAVING Count(*) > 0
)
但是不可以写成:
SELECT mo,cellname,bsc,region,town,Round(bpi24, 0),thour|| ':00',dhour,
CASE result_
WHEN 0 THEN '网外干扰 - cdma杂散干扰'
WHEN 1 THEN '网内干扰 - 互调干扰'
WHEN 2 THEN '网内干扰 - 频点干扰'
WHEN 3 THEN '网内干扰 - 直放站干扰'
WHEN 4 THEN '网外干扰 - 直放站干扰'
WHEN 5 THEN '网内干扰'
WHEN 6 THEN '网外干扰'
WHEN 7 THEN '无法确定'
WHEN 8 THEN NULL
ELSE '其他'
END AS result_2,
freq
FROM cy_fasdata_itas ts
WHERE 1 = 1
AND bpi24 > -1
AND ttime = '2013-07-08'
AND mo IN (SELECT mo
FROM cy_fasdata_itas ts
WHERE ttime IN ( '2013-07-08', '2013-07-01' )
GROUP BY mo
HAVING Count(*) > 0
)
@Override
public GridPager getPqGridBase(GridPager gridPager, WebToolBean webToolBean)throws Exception {
String sqlCount = "select count(id) from CY_FASDATA_ITAS ts "+ gridPager.pGWhere("ts")+this.getSqlWheres(webToolBean)+" and mo in ( select mo from CY_FASDATA_ITAS ts where ttime in ('"+webToolBean.getTtime()+"','"+webToolBean.getTtime2()+"') group by mo having count(*)>"+webToolBean.getDay()+")";
/*
String sqlQuery = "select MO,CELLNAME,BSC,REGION,TOWN,round(BPI24,0),THOUR||':00',dhour," +
" case result_ when 0 then '网外干扰-CDMA杂散干扰' when 1 then '网内干扰-互调干扰' WHEN 2 then '网内干扰-频点干扰' WHEN 3 then '网内干扰-直放站干扰' "+
"WHEN 4 then '网外干扰-直放站干扰' WHEN 5 then '网内干扰' WHEN 6 then '网外干扰' WHEN 7 then '无法确定' WHEN 8 then '' ELSE '其他' END as result_,"+
" FREQ from CY_FASDATA_ITAS ts "+ gridPager.pGWhere("ts")+this.getSqlWheres(webToolBean);
*/
String sqlQuery = "select MO,CELLNAME,BSC,REGION,TOWN,round(BPI24,0),THOUR||':00',dhour," +
" decode(result_,0,'网外干扰 - cdma杂散干扰',1,'网内干扰 - 互调干扰',2,'网内干扰 - 频点干扰',3,'网内干扰 - 直放站干扰',4,'网外干扰 - 直放站干扰',5,'网内干扰',6,'网外干扰',7,'无法确定',8,NULL,'其他') as result_,"+
" FREQ from CY_FASDATA_ITAS ts "+ gridPager.pGWhere("ts")+this.getSqlWheres(webToolBean)+" and mo in ( select mo from CY_FASDATA_ITAS ts where ttime in ('"+webToolBean.getTtime()+"','"+webToolBean.getTtime2()+"') group by mo having count(*)>"+webToolBean.getDay()+")";
StringBuffer sbCount = new StringBuffer(sqlCount);
StringBuffer sbQuery = new StringBuffer(sqlQuery);
sbQuery.append(" order by ts."+gridPager.getSortBy()+" "+ gridPager.getDir());
Query query = em.createNativeQuery(sbCount.toString());
gridPager.pGParams(query, "ts");
this.setQueryParams(query, webToolBean);
BigDecimal count=(BigDecimal)query.getSingleResult();
gridPager.setFullListSize(count.intValue());
query = em.createNativeQuery(sbQuery.toString());
gridPager.pGParams(query, "ts");
this.setQueryParams(query, webToolBean);
query.setMaxResults(gridPager.getRecordPage());
query.setFirstResult(gridPager.getStartIndex());
List list = query.getResultList();
gridPager.setList(StringUtil.toBoxListObject(list));
gridPager.pGExportCSV(query,gridPager);
return gridPager;
}