假设我有一个Geoserver,运行WFS暴露的两层(带属性):
StreetLayer (geom, StreetName, Lanes, Length)
HouseLayer (geom, Address)
Run Code Online (Sandbox Code Playgroud)
现在,如果我想查询所有街道的StreetLayer但只获取StreetName和Lanes属性,我会向此发送一个GET请求:
http://geoserver/wfs?REQUEST=GetFeature&VERSION=1.1.0&typename=StreetLayer&propertyname=StreetName,Lanes
Run Code Online (Sandbox Code Playgroud)
但是如果我现在想要查询HouseLayer和StreetLayer呢?这不起作用:
http://geoserver/wfs?REQUEST=GetFeature&VERSION=1.1.0&typename=StreetLayer,HouseLayer&propertyname=StreetName,Lanes,Address
Run Code Online (Sandbox Code Playgroud)
我得到一个例外,说StreetName和Lanes不在HouseLayer中,反之亦然.我需要提出多个请求吗?
编辑:
所以我想做的是这样的:
http://geoserver/wfs?REQUEST=GetFeature&VERSION=1.1.0&typename=StreetLayer,HouseLayer&propertyname=(StreetName,Lanes),(Address)
Run Code Online (Sandbox Code Playgroud) 对不好的主题感到抱歉.我想不出更好的一个,我赶时间.
说我有以下表格:
亲
儿童
父母和孩子之间存在一对多的关系.
现在我想构建一个返回所有父母及其最小孩子的查询.我希望结果是这样的:
结果
每个Parent.Id在结果中也应该只有一行.
这是一个解释我想要的图像

这就是我现在所处的位置:
SELECT
Parent.Id AS ParentId,
Child.Id AS ChildId,
MIN(Child.Age) AS ChildAge -- OVER (PARTITION BY Parent.Id) AS ChildAge
FROM Parent JOIN Child ON Parent.Id = Child.ParentId
GROUP BY Parent.Id, Child.Id
Run Code Online (Sandbox Code Playgroud)
我想要的是一个聚合函数来放置Child.Id,它将获取对应于MIN(Child.Age)行的Child.Id.我找不到任何这样的东西,我似乎无法模仿这种行为.
任何帮助深表感谢!