com.supermap.web.iServerJava6R.queryServices
public class JoinItem
继承 JoinItem Inheritance Object

连接信息类.

用于矢量数据集与外部表的连接。外部表可以为另一个矢量数据集(其中纯属性数据集中没有空间几何信息)所对应的 DBMS 表,也可以是用户自建的业务表。需要注意的是,矢量数据集与外部表必须属于同一数据源。

表之间的联系的建立有两种方式,一种是连接(join),一种是关联(link)。连接,实际上是依据相同的字段将一个外部表追加到指定的表;而关联是基于一个相同的字段定义了两个表格之间的联系,但不是实际的追加。用于连接两个表的字段的名称不一定相同,但类型必须一致。

当两个表格之间建立了连接,通过对主表进行操作,可以对外部表进行查询,制作专题图以及分析等。当两个表格之间是一对一或多对一的关系时,可以使用 join 连接。当为多对一的关系时,允许指定多个字段之间的关联。

查看示例



公共属性
  属性 定义方
    foreignTableName : String
获取或设置外部表的名称.
JoinItem
    joinFilter : String
获取或设置矢量数据集与外部表之间的连接表达式.
JoinItem
    joinType : String
获取或设置两个表之间的连接类型,JoinType 常量.
JoinItem
公共方法
  方法 定义方
   
初始化 JoinItem 类的新实例。
JoinItem
属性详细信息
foreignTableName 属性
foreignTableName:String

获取或设置外部表的名称.

如果外部表的名称是以“表名@数据源名”命名方式,则该属性只需赋值表名。例如:外部表 Name@changchun,Name 为表名,changchun 为数据源名称,则该属性的赋值应为:Name。


Implementation
    public function get foreignTableName():String
    public function set foreignTableName(value:String):void
joinFilter 属性  
joinFilter:String

获取或设置矢量数据集与外部表之间的连接表达式.

即设定两个表之间关联的字段。例如,将房屋面数据集(Building)的 district 字段与房屋拥有者的纯属性数据集(Owner)的 region 字段相连接,两个数据集对应的表名称分别为 Table_Building 和 Table_Owner,则连接表达式为 Table_Building.district = Table_Owner.region。当有多个字段相连接时,用 AND 将多个表达式相连。


Implementation
    public function get joinFilter():String
    public function set joinFilter(value:String):void
joinType 属性  
joinType:String

获取或设置两个表之间的连接类型,JoinType 常量.

连接类型决定了对两个表进行连接查询后返回的记录情况。


Implementation
    public function get joinType():String
    public function set joinType(value:String):void

另请参见

构造函数详细信息
JoinItem () 构造函数
public function JoinItem()

初始化 JoinItem 类的新实例。

示例
下面示例将主表 Street 与外表 customer 通过字段 ZIP 进行连接:
 
          var joinItem:JoinItem = new JoinItem();
          joinItem.foreignTableName =  "customer";
          joinItem.joinFilter = "Street.ZIP = customer.ZIP";
          joinItem.joinType = JoinType.INNER_JOIN;
      
          var filterParam:FilterParameter = new FilterParameter();
          filterParam.name =  "Street@RelQuery";//主表
          filterParam.fields = new Array("Street.ZIP", "Street.CITY", "customer.NAME", "customer.TYPE_USER");    //主表或外表需要保留的字段
          filterParam.joinItems = new Array(joinItem);