9 replies
by john.a.wills Accepted solution
by tony hopkinson Accepted solution
OUTER JOIN
Left or RIGHT sets which table will return nulls if there's no match.
INNER is the default.
by john.a.wills Accepted solution
by tony hopkinson Accepted solution
If you want nulls the join has to be outer.
Check your data to make sure you have some x.pidm with no y.pidm.
Unless something weird is going on.
Select ? From X Join Y on (x.id = Y.ID)
Right outer join will give you all records in Y with nulls for X where there's no match
Left Outer Join, would give all records in X with nulls for Y where there's no match.
by john.a.wills Accepted solution
by tony hopkinson Accepted solution
The only thing I know aboyut Oracle forms, is to avoid it at all costs, I'm afraid.
I find it hard to believe that they could make as basic an error as that though.
How about an inner join unioned with a where not exists query as a stop gap?
Another thing to try would be to start with a minimum of constraints and see if it's still not working may be the join is working but some other clause is cutting out the data you want.
PS you have verified that the data you are expecting exists. I know it sounds silly but we've all done it when lost amongst the trees.
by john.a.wills Accepted solution
Each SELECT within the UNION would need its own WHERE clause, and Oracle Forms provides only one WHERE clause per data block.
I have checked the data by putting the same query in SQL*PLUS, and the data are there.
I am thinking of having a large outer join (8 tables or more) and a very large WHERE clause to restrict, but that would be very unreadable and, I think, very inefficient. Still, correctness comes before efficiency. There again, the underlying problem might come back.
by john.a.wills Accepted solution
by tony hopkinson Accepted solution
Bleedin' 'orrible.
This discussion is closed to new replies.
Trending Web Development posts
Sort by Trending