首页 > 解决方案 > 根据另一个表中的销售数据拉伸点图层

问题描述

我试图让一个 SQL 查询工作,该查询获取销售人员的总销售数据,并使用它来挤压销售人员的地址,以便为我提供销售最多的 3D 视图。我有三张桌子;具有 spid 的销售人员,具有 spaddressid 和 spgeom 的地址表。并在销售方面具有销售总额。这是我到目前为止所拥有的;

CREATE TABLE sales_extruded AS SELECT sp.spid, ad.spaddressid, ST_Extrude(ad.spgeom, 0,0, st.saletallytotal) as the_geom, st.saletallytotal FROM public."address" ad, public."salestally" st, public."salespeople" sp WHERE st.spid = sp.spid ;

我想在两件事上寻求帮助;如何对各个销售人员的所有销售数据进行分组,以及如何测试正在创建的几何图形。我已将表格带入 ArcMap,但没有显示任何内容。理想情况下,我想将它带入 ArcScene。感谢任何可以提供帮助的人。

标签: sqlpostgresqlarcmap

解决方案


没有模式,很难提供准确和具体的帮助,但这里有一个尝试。如果 salestally 表对每个销售人员都有一行,则第一个查询将起作用。如果您需要按销售人员汇总值,则可能需要类似于第二个查询的内容,该查询汇总查询中每个地址的特定销售人员的销售额。

CREATE TABLE sales_extruded AS 
 SELECT sp.spid
  , ad.spaddressid
  , ST_Extrude(ad.spgeom, 0,0, st.saletallytotal) as the_geom
  , st.saletallytotal 
 FROM public."address" ad 
 join public."salespeople" sp on sp.spaddressid = ad.spaddressid
 join public."salestally" st on st.spid = sp.spid;



CREATE TABLE sales_extruded AS 
 SELECT sp.spid
  , ad.spaddressid
  , ST_Extrude(ad.spgeom, 0,0, sum(st.saletallytotal)) as the_geom
  , sum(st.saletallytotal) as saletallytotal
 FROM public."address" ad 
 join public."salespeople" sp on sp.spaddressid = ad.spaddressid
 join public."salestally" st on st.spid = sp.spid
 group by sp.spid, ad.spaddressid, ad.spgeom;

推荐阅读