The Select Layer By Attribute tool returns incorrect results when used against non-geodatabase data.
上次发布: November 1, 2019ArcGIS Pro
漏洞 ID 编号
BUG-000123738
已提交
July 16, 2019
上次修改时间
September 19, 2024
适用范围
ArcGIS Pro
找到的版本
2.4
操作系统
Windows OS
操作系统版本
10.0 64 Bit
状态
Known Limit
经开发团队审核,已确定此问题与不受 Esri 控制的软件的已知限制有关。 问题的“其他信息”部分可能包含进一步说明。
附加信息
This is related to BUG-000125149 and a known limitation. This issue is related to the use of a text field to create a temporary ObjectID field. All tables must have something that uniquely identifies each record. If there is no unique integer column, ArcGIS can generate one on the fly from one or more input columns. However, most queries return an ObjectID that links their results back to the map or table being viewed in ArcGIS. Queries that are passed down to the DBMS have no way of returning the ArcGIS-generated ObjectID. While the query returns accurate results, they cannot be correctly linked back to data in the map.
A solution is to add the table as a query layer based on a query that generates an integer ObjectID field by using a windowing function:
select isnull(CAST(ROW_NUMBER() OVER(ORDER BY blm_org_cd asc) AS INT),0) AS OBJECTID,
blm_org_cd, long_desc, dist_short_nm
from dbo.lu_blm_org_cd
解决办法
Place and register the table inside the geodatabase. Creating the table in the geodatabase but not registering it results in the failure of the Select by Attributes tool.
Use ArcMap 10.5.1. if working with a non-geodatabase