求问 oracle sdo_relate 查不到数据

mask多个条件查不到数据

 SELECT t.gwm_fid

            FROM gs_grid_info t,gs_grid_p p
           WHERE sdo_relate(p.gwm_geometry,
                            (SELECT tt.gwm_geometry
                               FROM gs_grid_p tt 
                              WHERE tt.gwm_fid = 3501522),
                          **  'MASK=CONTAINS+INSIDE+COVEREDBY+COVERS+OVERLAPBDYDISJOINT+OVERLAPBDYINTERSECT+EQUAL') ='TRUE'**
             AND t.gwm_fid = p.gwm_fid
             AND t.grid_type_id =102
             AND t.districtid = (SELECT info.districtid
                                    FROM gs_grid_info info
                                   WHERE info.gwm_fid = 3501522);

mask单个条件可以查到

 SELECT t.gwm_fid

            FROM gs_grid_info t,gs_grid_p p
           WHERE sdo_relate(p.gwm_geometry,
                            (SELECT tt.gwm_geometry
                               FROM gs_grid_p tt 
                              WHERE tt.gwm_fid = 3501522),
                          **  'MASK=CONTAINS') ='TRUE'**
             AND t.gwm_fid = p.gwm_fid
             AND t.grid_type_id =102
             AND t.districtid = (SELECT info.districtid
                                    FROM gs_grid_info info
                                   WHERE info.gwm_fid = 3501522);

最后终于找到了问题,是因为数据最初生成图形时有两个点重复了,导致了这个问题,
解决方法是将图形数据导入arcgis,检测自相交,从而解决了问题