Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0
-
None
-
None
Description
- It would be nice to support sql constructs like:
SELECT * FROM sales2005 UNION SELECT * FROM sales2006;
- If you want to realize the UNION operator you have to do something like that:
[...]
Criteria criteriaA = new Criteria();
criteriaA.where( ... );
criteriaA.addSelectColumn(COLUMNX);
Query queryA = SqlBuilder.buildQuery(criteriaA);
String sqlA = queryA.toString();
List<Object> replacementsA = queryA.getPreparedStatementReplacements();
Criteria criteriaB = new Criteria();
criteriaB.where( ... );
criteriaB.addSelectColumn(...);
Query queryB = SqlBuilder.buildQuery(criteriaB);
String sqlB = queryB.toString();
List<Object> replacementsB = queryB.getPreparedStatementReplacements();
List<Object> replacements = Lists.newArrayList();
replacements.addAll(replacementsA);
replacements.addAll(replacementsB);
String sql = COLUMNX + " IN (" + sqlA + " UNION " + sqlB + ")";
mainCriteria.whereVerbatimSql(sql, replacements.toArray());
[...]