0

次のSQLコードを実行すると、「parent.name,child.name」を取得したいのですが、返されるリストの値は「parent.name,parent.name」ですか? 誰でも助けてもらえますか?データベースはmysqlです

String sql = "select parent.name,child.name from CATEGORY as parent,CATEGORY as child where child.CATEGORY_ID=7 and child.SUB_TYPE in (80,81) and child.PARENT_ID=parent.ID;";
Query query = session.createSQLQuery(sql);
return query.list();

望ましい結果:

parent.name child.name
  a            d
  b            e
  c            f

現在の結果:

parent.name child.name
  a            a
  b            b
  c            c

ちなみに、SQLyog クライアントで sql を実行すると正しい結果が得られます。

4

1 に答える 1

0

まず第一に、説明によってSQLステートメントが正しいことを確認してから、次のようにオブジェクト配列を取得します。

for(Object[] obj : results) {
  obj[0]  // parent name
  obj[1]  // child name
}

多分あなたを助ける:)

于 2013-05-06T09:44:55.150 に答える