X-cc: “Davis, Vicki L.” VICKI.L.DAVIS@usa.conoco.com
Thanks Luis and Robert for your responses however I think you misunderstood the problem so let me try to explain it again.
First of all the key that something is not working right was my point that if it is defined as a shortcut it is not included and I get a Cartesian product. If I simply uncheck the shortcut box then it includes the join and gives the proper result. Regular join - included in query no problem. Shortcut join - not included and Cartesian product.
Now I simply cannot understand regardless of how many joins, tables, contexts or whatever that you would get that behavior. If it is the ONLY join path to the table why would it work as a regular join but not as a shortcut?
So let me describe in more detail the Universe set up. Forget my first post.
Table A is joined to table B. Table A is joined to Table C. Table C is joined to table D. These are regular joins. Now a shortcut join is created from Table A to table D to bypass table C if data is not selected from that table. All of these joins are in a context.
Now I create a query and Include objects from A, B, and D. Since Table C was NOT included in the objects the shortcut join should have been used. I should have had A–B, A–D. However the SQL had A–B, A–C, C–D. I simply cannot get it to use A–D shortcut join.
No here is the strange part. If I choose items from A and D only (leave out B) then I get the A–D shortcut join in the query. I put and object from B back in and the A–D join goes away.
In order to force it to use it I actually deleted join C–D. Then the SQL had A–B, and a Cartesian to D. Where is A–D??
Next I changed A–D from a shortcut to a regular join a guess what? The SQL had A–B, A–D.
Help!
Greg Mills
Conoco Inc.
(580) 767-5597 ETN 442-5597
s-greg.mills@usa.conoco.com
Listserv Archives (BOB member since 2002-06-25)