ORA-01417 - a table may be outer joined to at most one other

Hi,

I have already used the Search-Functionality but didn’t find an answer to my question.

I have 3 tables:
A. Category (Category_ID, Category, …)
B. Item_Category (ID, FK_Category_ID, FK_Item_ID)
C. Item (Item_ID, Item, …)

One Item can be in no, one or more categories. One Category can include no, one or more Items. The Mapping takes place in table B.

I set the joins this way:
A --o< B >o-- C

Now I get the error: “ORA-01417 - a table may be outer joined to at most one other table”.

How can I realize this in the Universe Design? Did I make a mistake?

I would be very happy about an answer! Sorry about my english.

Regards, BoSchneider


BOSchneider (BOB member since 2008-07-23)

Switch your ansi flag to YES in universe parameters. It will let you have those awkward outer jons then. I think only ansi supports them.

Debbie


Debbie :uk: (BOB member since 2005-03-01)

Hi Debbie,

I didn’t think to get an answer so fast :slight_smile:

I tried to set ANSI92 to “Yes” and now I get the following error message:
“ORA-25156: old style outer join (+) cannot be used with ANSI joins.”

Another idea?

Thank you!


BOSchneider (BOB member since 2008-07-23)

Hi again,

I tried to set “ANSI92 - YES” to “ANSI - YES” (without knowing what I’m doing) an get now again “ORA-01417”.

Regards, BoSchneider


BOSchneider (BOB member since 2008-07-23)

Moderator Note: BoSchneider, please do not bump your post until at least one business day has passed.


Jansi :india: (BOB member since 2008-05-12)

Hi Moderator,

Bumping is defined as posting two or more times in succession without adding anything new to the issue you are trying to address. But I add anything new the the issue to resolve the problem.

Could you please delete this and your note?

Regards, BoSchneider


BOSchneider (BOB member since 2008-07-23)

If you want to add additional information, you can always go and edit your previous post in case you’re the last poster. The bumping rule has this information.


Jansi :india: (BOB member since 2008-05-12)

On the universe parameters tab, change the ANSI92 flag from NO to YES.

You’ll have to modify your joins - ANSI92 will let you have better outer joins but it deson’t support using a (+) to denote an outer join. Either let Bob build the ANSI syntax for you, or code it manually:

from tableA left outer join tableB on tableA.columnx=tableB.columnx

Debbie


Debbie :uk: (BOB member since 2005-03-01)

Are you just trying to report off these three tables?

The simplest solution is to make everything equi-joins and then handle categories and items that don’t have an item category as separate data providers. The other solution is to create a derived table that is a cartesian product of the category and item tables and then do an outer join from the derived table to the item category table.

I wouldn’t mess with the ANSI stuff.


Dennis W. Disney :us: (BOB member since 2003-09-17)