根据来自另一张表的销售数据来挤压点层

时间:2018-12-08 17:12:36

标签: sql postgresql arcmap

我正在尝试获得一个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。感谢任何可以帮助您的人。

1 个答案:

答案 0 :(得分:0)

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

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;