I understand, broadly, why the Relations dialog and setup screens do not show all of the other “mirror relations” … for example, only the Inner Join and Left Outer Join are needed in the context of this dialog … one doee not need the mirror relations of ROJ etc.
How do you best represent the Full Join condition with the current two dialog options in 3.5 final (Inner and LOJ)?
Michael
Relations in Servoy are always from 1 record to 0…n other records.
Hence only inner and Left Outer Joins are available in the Relation dialog.
If you want to show the result of a full join, this means that 1 record on either side of a relation shows up 1 or more times, so you’re talking more along the lines of reporting.
You can display the result of such a query as HTML or use the inMemDatagrid Bean to display the result.
Paul
Thanks … makes sense for me now in the Servoy context.
Full join would then be more of an issue for reporting and I suppose if reporting out of Servoy (as opposed to say Jasper) then one would simply issue the appropriate db node sql request and then feed the appropriate gui object.
I know, in some cases, a full join is needed for a few data editing situations (usually chasing down orphan record conditions) … it’s not an everyday situation … more often than not it occurs when less than stellar data is inbound from other systems. The case here would be when proper relational modeling and controls have not been in place and then one is using Servoy to work with “scruffy” data (orphans in both parent and child records where there are missing records on both sides of the relation). In this case, if I understand correctly, it would be best to simply issue the appropriate SQL query for the full join and feed a JSDataSet/foundset?
Michael
Yep, if you need full joins to get the right data, just run whatever query you need to get the PK’s of the records you need to display and feed those PK’s to a loadRecord function on the appropriate form (or feed the SQL statement directly to the loadRecords statement).
Paul