I'm trying to create a report using iReport but I can't get the right results printing out. As a generic example say I have three tables: table_1 { id field_ } table_2 { id fieldA table_1_id } table_3 { id field1 table_2_id } where table_2.table_1_id references table1.id and table_3.table_2_id references table2.id. For every occurance of an entry in table2 there may be 0 or more entries in table3 where table3.table_2_id = table2.id. Let's say I had the following in the tables table_1 id Field_ 1 60 2 30 3 77 table_2 id fieldA table_1_id 1 qq 1 2 rr 1 3 tt 2 table_3 id field1 table_2_id 1 a1 1 2 a2 1 3 a3 3 Now, in my report what I want to do is print out some details for a specific table_1.id. Specifically, I want to print out contents of table2 where table2.table_1_id = table_1.id, and for each entry being printed from table_2 I want to print below it the entries in table_3 where table_3.table_2_id = table_2.id. For example, say I wanted to print the above where table_1.id = 1 I would like the result printed in my report as follows: table_2.fieldA: qq table_3.field1: a1 table_3.field1: a2 table_2.fieldA: rr I'm wondering how I should design the report? What I mean is should I use groups or a sub-report? I've tried both, I don't even get close to what I want with my subreport, with groups I get close but I get every entry from table_3 repeated under each of the entries from table_2, so in the above I would get: table_2.fieldA: qq table_3.field1: a1 table_3.field1: a2 table_2.fieldA: rr table_3.field1: a1 table_3.field1: a2 I'm at a loss and not that familiar with databasing and reporting. Also, what query would I need? Thanks in advance