I've create a Query Layer to join multiple tables to one Parcel table with Geometry.
In ArcMap, it displays all the correct parcels. In Toad, it has a count of all the correct records.... but when I right-click on the Query Layer in ArcMap and select the Attribute Table it only show 19 out of the 3840 records.
????
Any suggestions?
ArcMap 10.2.2 - Oracle 11g
Can you post your query that creates the query layer?
SELECT f.folderyear || '-' || f.foldersequence || ' ' || f.foldertype
permit_no,
vs.statusdesc status,
f.indate,
TO_NUMBER (TO_CHAR (f.issuedate, 'YYYY')) issuedyear,
f.issuedate,
vsb.subdesc Permit_Bldg_Type,
pi.propinfovalue Planning_Unit_Type,
fi1.infovalue DC_Unit_Count,
fi2.infovalue DC_Suite_Count,
NVL (fi3.infovalue, fi4.infovalue) Units_Created,
fi4.infovalue Apts,
p.prophouse
|| ' '
|| p.propstreet
|| ' '
|| p.propstreettype
|| ' '
|| p.propstreetdirection
|| ' '
|| p.propunit
Address,
p.propertyroll,
p.propplan,
TRUNC (fp3.enddate) HVACOCCDT,
TRUNC (fp2.enddate) PLUMBINGOCDT,
TRUNC (fp1.enddate) BUILDINGOCCDT,
pp.shape,
f.folderyear
|| '-'
|| f.foldersequence
|| ' '
|| f.foldertype
|| ' '
|| p.propertyroll
Uniqueid
FROM whadmin.cty_folder f,
whadmin.cty_property p,
whadmin.cty_validfolder vf,
whadmin.cty_folderinfo fi1,
whadmin.cty_folderinfo fi2,
whadmin.cty_folderinfo fi3,
whadmin.cty_folderinfo fi4,
whadmin.cty_propertyinfo pi,
whadmin.cty_validstatus vs,
whadmin.cty_validsub vsb,
whadmin.cty_folderprocess fp1,
whadmin.cty_folderprocess fp2,
whadmin.cty_folderprocess fp3,
gisadmin.parcel pp
WHERE f.propertyrsn = p.propertyrsn
AND f.indate > '1-jan-00'
AND f.statuscode IN (20, 30, 350)
AND f.foldertype = vf.foldertype
AND vf.foldergroupcode = 1
AND f.statuscode = vs.statuscode
AND f.subcode = vsb.subcode
AND p.propertyrsn = pi.propertyrsn(+)
AND pi.propertyinfocode(+) = 65
AND f.folderrsn = fi1.folderrsn(+)
AND fi1.infocode(+) = 14
AND f.folderrsn = fi2.folderrsn(+)
AND fi2.infocode(+) = 185
AND f.folderrsn = fi3.folderrsn(+)
AND fi3.infocode(+) = 3
AND f.folderrsn = fi4.folderrsn(+)
AND fi4.infocode(+) = 25
AND TO_NUMBER (NVL (fi3.infovalue, fi4.infovalue)) > 0
AND f.folderrsn = fp1.folderrsn(+)
AND fp1.processcode(+) = 39
AND f.folderrsn = fp2.folderrsn(+)
AND fp2.processcode(+) = 40
AND f.folderrsn = fp3.folderrsn(+)
AND fp3.processcode(+) = 405
AND pp.name = p.propertyroll;
Oracle has supported the SQL-standard JOIN syntax for a while now. If nothing else, using that syntax will make life easier on your optimizer.
I haven't dealt much with Query Layers, but for those I have, I would suspect a problem with the Unique ID.