Я создал таблицу с 3 полями язык, страна, тип установки. Когда я пишу запрос, чтобы напечатать максимальное значение в каждом поле, я получаю странную проблему. Может кто-нибудь сказать причину. Вот мой код.
PreparedStatement ps1= null;
ps1 = conn.prepareStatement("desc Configuration");
ResultSet rs1=ps1.executeQuery();
while(rs1.next()) {
System.out.print(rs1.getString(1)+":");
PreparedStatement ps2= null;
ps2 = conn.prepareStatement("select ? from Configuration c1 "+
" group by language "+
" having count(*) >= all " +
" ( select count(*) from Configuration c2 "+
" group by language )");
ps2.setString(1,rs1.getString(1));
ResultSet rs2=ps2.executeQuery();
while(rs2.next())
System.out.print(rs2.getString(1));
System.out.println();
}
Вывод, который я получаю здесь, language: language Но вывод, который я ожидаю,
язык: английский вот так. Я получаю вывод позже, если я заменю '?' с языком в подготовить заявление. Но если я даю то же самое с? Я получаю то, что я дал для ps2.setString.
Почему это происходит. Любые решения?