1

iReport 4.2を使用しており、次のことをしようとしています。

データベースから BOM のような形式 (またはツリー形式) でデータを取得し、レベルに従ってフィールドを正しくシフトする必要があります。私は階層ツリーをやっています

例えば

A.
   A.a
   A.b
B.
   B.a
      B.a.a

助言がありますか。私はいくつかの調査を行いましたが、何を探すべきかさえわかりません:)

4

1 に答える 1

0

次の select を書き、ID を空白にレベルを乗じて変更しました。

ocs_season_questionnaire_id ,id, code, title, description, 0, '1' を ocs_season_report_unit から選択します。ここで、supervisor_id は null で、ocs_season_questionnaire_id = 5 です。

union all
select C.ocs_season_questionnaire_id, C.id, C.code, C.title, C.description, depth+1, xid||'.'||C.id
from sumthis P
inner join ocs_season_report_unit C on P.id = C.supervisor_id
)
 select id, lpad('', depth*2)||title as title, description from sumthis  where ocs_season_questionnaire_id = $P{qu_id}

最善の解決策ではないので、誰かがより良い解決策を知っている場合は、回答してください。ありがとうございました

于 2013-09-18T20:20:55.730 に答える