0

表示する必要があるデータは 3 つのテーブルから取得され、ジャスパー レポート/ireport でフィールドを定義しています。しかし、表示するデータがありません。私は正しいデータソースも渡しています。ireport で定義されたフィールドに問題があるか、または ireport で特定のテーブルのフィールドを定義する方法を知りたいです。たとえば、テーブル1にフィールドabcがある場合、テーブル2にもフィールドabcがあります。特定のテーブルを指定してフィールドを定義するか、ireportでフィールド名を指定するだけですか。

4

1 に答える 1

0

たとえば、次の 2 つのテーブルがあります。

ADDRESS (ID Integer, FIRSTNAME String(256))

DOCUMENT (ID Integer, ADDRESSID Integer)

レポート テンプレートのクエリは次のようになります。

<queryString>
    <![CDATA[SELECT
 ADDRESS.ID AS ADDRESS_ID,
 ADDRESS.FIRSTNAME AS ADDRESS_FIRSTNAME,
 DOCUMENT.ID AS DOCUMENT_ID,
 DOCUMENT.ADDRESSID AS DOCUMENT_ADDRESSID,
 FROM ADDRESS, DOCUMENT WHERE ADDRESS.ID=DOCUMENT.ADDRESSID]]>
</queryString>
<field name="ADDRESS_ID" class="java.lang.Integer"/>
<field name="ADDRESS_FIRSTNAME" class="java.lang.String"/>
<field name="DOCUMENT_ID" class="java.lang.Integer"/>
<field name="DOCUMENT_ADDRESSID" class="java.lang.Integer"/>

(このサンプルではADDRESS_IDDOCUMENT_ID )を使用するエイリアスは、同じ名前の複数の列が存在する場合の衝突を回避するのに役立ちます。

于 2011-10-10T13:36:11.960 に答える