|
发表于 2014-5-4 14:53:04
|
显示全部楼层
用action参考- public static Table parameterFilterQuery(String name, String id){
-
- String oracle = "SELECT RPRODUCTID , RPRODUCTNAME , (SELECT RCATEGORYNAME FROM DEMO_REPORTPRODUCTCATEGORY WHERE DEMO_REPORTPRODUCTCATEGORY.RCATEGORYID = DEMO_REPORTPRODUCTS.RCATEGORYID) AS RCATEGORYNAME , (SELECT RCOMPANYNAME FROM DEMO_REPORTSUPPLIERS WHERE DEMO_REPORTSUPPLIERS.RSUPPLIERID = DEMO_REPORTPRODUCTS.RSUPPLIERID)AS RCOMPANYNAME,RQUANTITYPERUNIT,RUNITPRICE,RUNITSINSTOCK FROM DEMO_REPORTPRODUCTS";
- String mssql = "SELECT RPRODUCTID , RPRODUCTNAME , (SELECT RCATEGORYNAME FROM DEMO_REPORTPRODUCTCATEGORY WHERE DEMO_REPORTPRODUCTCATEGORY.RCATEGORYID = DEMO_REPORTPRODUCTS.RCATEGORYID) AS RCATEGORYNAME , (SELECT RCOMPANYNAME FROM DEMO_REPORTSUPPLIERS WHERE DEMO_REPORTSUPPLIERS.RSUPPLIERID = DEMO_REPORTPRODUCTS.RSUPPLIERID)AS RCOMPANYNAME,RQUANTITYPERUNIT,RUNITPRICE,RUNITSINSTOCK FROM DEMO_REPORTPRODUCTS";
-
- oracle += " WHERE 1=1 ";
- mssql += " WHERE 1=1 ";
-
- if(!"".equals(name)){
- oracle += "and RPRODUCTNAME like '%"+name+"%' ";
- mssql += "and RPRODUCTNAME like '%"+name+"%' ";
- }
- if(!"".equals(id)){
- oracle += String.format("and RPRODUCTID = '%s' ", id);
- mssql += String.format("and RPRODUCTID = '%s' ", id);
- }
-
- HashMap<String,String> sqlMap = new HashMap<String,String>();
- sqlMap.put(SQL.DEFAULT_DB_NAME,mssql);
- sqlMap.put(DatabaseProduct.ORACLE.name(),oracle);
- sqlMap.put(DatabaseProduct.MSSQL.name(),mssql);
- sqlMap.put(DatabaseProduct.KINGBASE.name(),oracle);
- sqlMap.put(DatabaseProduct.SYBASE.name(),mssql);
- sqlMap.put(DatabaseProduct.DB2.name(),oracle);
- return SQL.select(sqlMap,null,"/demo/report/data");
- }
复制代码 例子中的是sql自己可以用ksql实现,不同的条件拼接不同的where条件 |
|