I was executing a crosstab query as a prepared statement in Java(in a GWT app) and getting the following error -
PSQLException - Can't use query methods that take a query string on a PreparedStatement.
With some helpful folks from stackflow, I was able to resolve the error with the following code -
String query = "SELECT * FROM crosstab(
'SELECT rowid, a_name, value
FROM test WHERE a_name = ''att2''
OR a_name = ''att3''
ORDER BY 1,2'
'SELECT rowid, a_name, value
FROM test WHERE a_name = ''att2''
OR a_name = ''att3''
ORDER BY 1,2'
) AS ct(row_name text, cat_1 text, cat_2 text, cat_3 text);";
ResultSet rs = stat.getResultSet();
//Note that, it is executeQuery() and not executeQuery(query)
stat.executeQuery();
rs = stat.getResultSet();
while (rs.next()) {
//TODO
}
Thanks!