残念ながら、私はこの簡単一般的な場合を達成するためにあらゆる機会を見ていない - つまり、レコード数が事前に分かっていないので、あなたは、複数の行必要があるだろうとします。
を
student1 student2 student3
student4 student5
これらの行を「メインライン」としましょう。 1つのメインラインには最大3つのレコードを含めることができます。あなたのケースでは数字3が異なるかもしれませんが、(少なくともPDFレポートでは)用紙の幅が制限されているので、定数であると見なすことができます。 、あなたのデータセットでは
各行のための2つの列を追加します:
可能な解決策は、次のように仕事ができる意味が明らかであるMAIN_LINE_NUMと列番号を、。たとえば、これは分析関数(未テスト)を使用して、純粋なSQLで行うことができます。
select ...,
trunc((row_number() over (order by ...whatever...) - 1)/3) + 1 as MAIN_LINE_NUM,
mod(row_number() over (order by ...whatever...) - 1), 3) +1 as COLUMN_NUM
from ...
order by ...whatever... -- The order must be the same as above.
各レコードが行くべき場所今、あなたが知っています。
次のタスクは、(たとえば、あなたが3つのプロパティSTUDENT_ID、NAME、各学生のためのアドレスを持っていると思います)、各レコードは、次のようになりますフォームに結果セットを変換することです:
MAIN_LINE
STUDENT_ID_1
NAME_1
ADDRESS_1
STUDENT_ID_2
NAME_2
ADDRESS_2
STUDENT_ID_3
NAME_3
ADDRESS_3
あなたは写真を手に入れます...
これを達成するためのSQLのやり方は、知っておくべきことです。
私は、一例としてSTUDENT_ID_1、STUDENT_ID_2とNAME_1列のためにこれを紹介します:
with my_data as
(... the query shown above including MAIN_LINE_NUM and COLUMN_NUM ...
)
select MAIN_LINE_NUM,
max(case when COLUMN_NUM=1 then STUDENT_ID else null end) as STUDENT_ID_1,
max(case when COLUMN_NUM=2 then STUDENT_ID else null end) as STUDENT_ID_2,
...
max(case when COLUMN_NUM=1 then NAME else null end) as NAME_1,
...
from my_data
group by MAIN_LINE_NUM
order by MAIN_LINE_NUM
見ての通り、あなたが別の列の多くを必要とする場合、これは非常に不器用です。
一方、出力が非常に簡単になります。
データセットのテーブル項目を3列(1、2、3)で作成します。データセットをレイアウトにドラッグしないことが最善です。代わりに、[要素の挿入]コンテキストメニューを使用します。
各列(STUDENT_ID、NAME、ADDRESS)の詳細行が必要です。したがって、2つの詳細行を追加します(デフォルトは1つの詳細行です)。
ヘッダーラベルを手動で追加します。必要がない場合は、ヘッダ行を手動で追加するか、ヘッダー行を削除してください(これは私が前提としています)。
おそらく必要ないので、フッター行を削除します。
テーブルの対応する位置に列をドラッグします。
テーブルの項目は次のように(データ項目)になります。
+--------------+--------------+-------------+
+ STUDENT_ID_1 | STUDENT_ID_2 | STUDENT_ID3 |
+--------------+--------------+-------------+
+ NAME_1 | NAME_2 | NAME_3 |
+--------------+--------------+-------------+
+ ADDRESS_1 | ADDRESS_2 | ADDRESS_3 |
+--------------+--------------+-------------+
それです!
これは、BIRTがIMHOを吸ういくつかの例の1つです。 Oracle Reports - 私のKlatchianをおめでとう。
お返事ありがとうございます。私はそれを消化しなければならないでしょう。複数の結合とサブ選択のクエリが既に存在するので、これを適用する方法を確認する必要があります。 –
これは問題ではありません。 – hvb
これは、1列がイメージであるということです...このように、イメージとして表示されません。 (画像は、位置合わせが正しくなる問題ではなく、固定サイズです)。 –