Adding more information to the topic
Desktop 10.2
SDE 10.2, 64-bit Oracle 11.2.0.3
Using Asrujit's example of building the workflow in ArcMap, I did the following:
1) added the feature class and table to ArcMap
2) used MakeFeatureLayer from ArcToolbox
3) used AddJoin from ArcToolbox
4) Ran GetCount, which resulted in -1
5) opened the table from the Table of Contents and visually saw all of my records, with a correct join performed
6) attempted to export data to a new feature class
7) finally got a useful error message:
"Error exporting data. Underlying DBMS error [ORA-25156: old style outer join (+) cannot be used with ANSI joins] [DBJoin1]"
😎 Got my DBA involved to capture the error when I ran it again
9) ArcMap is generating the following SQL, which fails (SDE 10.2):
[INDENT]SELECT GIS.TESTFC.OBJECTID,
GIS.TESTFC.JOINFIELD,
GIS.TESTFC.SHAPE,
GIS.TESTTABLE.OBJECTID,
GIS.TESTTABLE.JOINFIELD,
GIS.TESTTABLE.ADDITIONALATTRIBUTES,
SHAPE.fid,
SHAPE.numofpts,
SHAPE.entity,
SHAPE.points,
SHAPE.rowid
FROM GIS.TESTFC
LEFT OUTER JOIN GIS.TESTTABLE
ON GIS.TESTFC.JOINFIELD = GIS.TESTTABLE.JOINFIELD, GIS.F1888 SHAPE
where SHAPE.FID(+) = GIS.TESTFC.SHAPE;[/INDENT]
10) ran through all the same steps using data from SDE 9.3.1
11) ArcMap generates the following SQL, which succeeds (SDE 9.3.1, Oracle 10g):
[INDENT]SELECT OBJECTID,
JOINFIELD,
SHAPE,
SHAPE.LEN,
SHAPE.fid,
SHAPE.numofpts,
SHAPE.entity,
SHAPE.points,
SHAPE.rowid
FROM GIS.TESTFC, GIS.F3501 SHAPE
where SHAPE.FID(+) = GIS.TESTFC.SHAPE;
SELECT JOINFIELD, OBJECTID, ADDITIONALATTRIBUTES
FROM GIS.TESTTABLE
WHERE (JOINFIELD in (444444, 555555, 666666));[/INDENT]
So, as Vince pointed out, we are a particular use case and it would appear that there is something about our implementation/environment that is causing ArcMap to generate bogus SQL (but Asrujit's works just fine).
I bundled up all my notes and sent them off to tech support. Just wanted to share in case someone else came across this issue.