我将 Esri ArcMap 10.0 与 Microsoft Sql Server 2008 R2 一起使用
我有 2 张桌子:
MN_SCHOOLS_PUBLIC
- 学校 ID 字段称为 ORGID_RELTRPD_Schdgrps_Schools
- 学校 ID 字段称为 School_Code
第一个表只是学校的地址列表,第二个表是学校进行的团体预订列表。表 2 中的每所学校都存在于表 1 中。我正在尝试创建一个查询,在其中生成已进行多次预订的学校列表。这就是我想出的:
select School_Code
from central2.gisadmin.TRPD_SCHDGRPS_SCHOOLS
group by School_Code
having COUNT(*) > 1
这起到了作用,或者至少足够接近。但是,我的问题在于我必须在 GIS 软件中运行此查询,查询工具(在 Esri 的 ArcMap 中按属性选择)总是为用户启动选择语句。因此,当您打开该工具时,查询将从以下内容开始:
select * from gisadmin.MN_SCHOOLS_PUBLIC
我想选择表 1 中所有在表 2 中有多个条目的学校,并且我需要从上面的 select 语句开始。这是我想出的,但我似乎无法弄清楚如何让它工作:
select * from gisadmin.MN_SCHOOLS_PUBLIC
where EXISTS
(SELECT *
FROM central2.GISADMIN.TRPD_Schdgrps_Schools
WHERE central2.GISADMIN.MN_Schools_PUBLIC.ORGID_REL =
(select * from central2.gisadmin.TRPD_SCHDGRPS_SCHOOLS
where School_Code in
(select School_Code
from central2.gisadmin.TRPD_SCHDGRPS_SCHOOLS
group by School_Code
having COUNT(*) > 1)))
任何帮助将不胜感激