言語、国、インストールの3種類のフィールドを持つテーブルを作成しました。それぞれの分野で最大の出現価値を印刷するためのクエリを書くとき、私は奇妙な問題を抱えています。誰でも理由を言うことができます。これは私のコードです。JavaのPrepareStatementに関する問題
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();
}
私はここで取得しています出力は言語である:言語しかし、私は期待していどのような出力が 言語である:そのような英語。もし私が '?'準備文の中で言葉で話しています。でも、もし私が同じことを言えば?私はps2.setStringのために与えてきたものを得ています。
なぜこれが起こっているのですか?どんな解決策ですか?
@allは....ありがとう – Allwyn