我正在尝试使用.Net API向FileNet 5.2发送动态构建的查询。我尝试查询的文档类在选择列表中有三个属性,其基数为无序列表并键入 String。当我使用 DISTINCT
关键字发送查询时,FileNet 返回此错误:
无法选择具有"不同"的属性:路由编号。
下面是一个传递给 FileNet 的示例 SQL 语句:
SELECT DISTINCT
td.DrawingNumber,
td.ProjectTitle,
td.WorkArea,
td.RouteNumber,
td.City,
td.County,
td.DrawingNumberAssignedYear,
td.Comment,
td.MajorVersionNumber,
td.IsCurrentVersion
FROM TrafficDocument AS td WITH EXCLUDESUBCLASSES
LEFT OUTER JOIN RoadwaySegment AS rwy WITH EXCLUDESUBCLASSES ON td.ID = rwy.ParentObjectID
WHERE td.IsCurrentVersion = True
AND '104' IN RouteNumber
ORDER BY td.DrawingNumber, td.TrafficPlanDiscipline
OPTIONS (TIMELIMIT 180)
我需要 DISTINCT
关键字,因为连接文档类 RoadwaySegment 导致重复项,但在查询中需要它,因为它们的值也可以过滤。
那么,如何才能实现查询 FileNet 和检索唯一结果的目标呢?
RouteNumber
是可排序的属性吗?只有可排序的查询才允许使用DISTINCT
。
不同的限制:
仅当
DISTINCT
的选定属性是可排序的。例如,如果属性 P1 不可排序(二进制类型或带有 UsesLongColumn 的字符串类型(, 以下查询将生成一条错误消息:
SELECT DISTINCT P1 From Object1