В JDBC я хочу выполнить запрос MySQL и сохранить его результат как отношение к его использованию в следующем запросе, для что я делаю что-то вроде этого:как сохранить результат запроса jdbc как отношение использовать его в следующем запросе
public static void getaData() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase","xyz","[email protected]");
PreparedStatement statement1 = connection.prepareStatement("select * from table1 join table2 using(table2_id)");
ResultSet result1 = statement1.executeQuery();
PreparedStatement statement2 = connection.prepareStatement("select concat(first_name,' ',last_name) as full_name, party_name, head, symbol from ("+result1+") as subTable");
ResultSet result2 = statement2.executeQuery();
System.out.printf("%-30s%-30s%-30s%-30s\n\n", "full_name", "party_name", "head", "symbol");
while(result2.next())
System.out.printf("%-30s%-30s%-30s%-30s\n", result2.getString(0), result2.getString(1), result2.getString(2), result2.getString(3));
}
но это бросает исключение, которое:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[email protected]) as subTable' at line 1
Так что, пожалуйста, как я могу это сделать?
все еще не работает –
По-прежнему такая же ошибка? –
Обнаружили ошибку. Вы должны указать имя таблицы как строку, а не object.result1 не является строкой –