On Thursday, December 29, 2011 11:10:10 AM James Bull wrote:
> Wondering if I could get some pointers.
> I have tables setup as
>       Parent(person)
>               -ChildA(many: medications)
>               -ChildB(many: allergies)
> The report I am trying to produce aims to have Parent details then below
> this 2 lists of childA and childB - to provide a summary report of
> medication one may be on and allergies. My problem is as I understand it,
> reportwriter needs denormalized dataset - which to me means each 'row'
> contains all the same data with one unique element; so in the example
> dataset below the first 3 'rows' are unique on meds(and medpkid) and retain
> same allergy etc:
> 
> ( {'meds': 'medication-test1', 'pkid': 21, 'allergy': 'penicillin-test',
> 'medid': 465, 'ptid': 465, 'medpkid': 217}, {'meds': 'medication-test2',
> 'pkid': 21, 'allergy': 'penicillin-test', 'medid': 465, 'ptid': 465, 
> 'medpkid': 471}, {'meds': 'drug-test', 'pkid': 21, 'allergy':
> 'penicillin-test', 'medid': 465, 'ptid': 465, 'medpkid': 472}, {'meds':
> 'medication-test1', 'pkid': 240, 'allergy': 'sulphur-test', 'medid': 465,
> 'ptid': 465, 'medpkid': 217}, {'meds': 'medication-test2', 'pkid': 240,
> 'allergy': 'sulphur-test', 'medid': 465, 'ptid': 465, 'medpkid': 471},
> {'meds': 'drug-test', 'pkid': 240, 'allergy': 'sulphur-test', 'medid': 465,
> 'ptid': 465, 'medpkid': 472} )
> 
> So in report I am trying to list for each unique person(ptid) a list
> allergies: pencillin,sulphur and list meds: medication-test1 etc, instead
> as the rw Cursor iterates over each element in tuple I have long list of
> allergies essentially repeated  in current example for each unique
> medication.
> 
> Have tried grouping but still cannot achieve what I envisage.
> What am I doing wrong? Any help would be most appreciated.
> 
> regards
> james

In general I create the sql manually. And in this case you will need to create 
the joins with childA and childB.  

tempCur = self.PrimaryBizojb.getTempCursor()
tempCur.execute("select nameofFields from ParentTable join childATable a on PK 
= a.FK join childBTable b on PK = b.FK")

MyDataSet = tempCur.getDataSet()

IOW's create the sql needed in advance that meets your need.  I'm not 
completely sure what is needed in your case - but SQL is very powerful and you 
should be able to get the data in the right format.

Johnf



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/1636495.Cf1BzCZmVv@linux-12

Reply via email to