Wpis z mikrobloga

#sql #postgresql

Hej mircy, jak poprawić drugą kwerendę?

gis=# select a.name from planet_osm_polygon a, (select * from test limit 1) b where ST_Intersects(a.way,b.way) and a.boundary='administrative' order by a.admin_level;
name
-----------------------
województwo pomorskie
powiat starogardzki
powiat tczewski
gmina Skórcz
gmina Morzeszczyn
(5 rows)

gis=# select string_agg(a.name,', ') from planet_osm_polygon a, (select * from test limit 1) b where ST_Intersects(a.way,b.way) and a.boundary='administrative' order by a.admin_level;
ERROR: column "a.admin_level" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: ...y,b.way) and a.boundary='administrative' order by a.admin_le...
^

  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RicoElectrico:
Tu masz dokładnie napisane jak to poprawić:

ERROR: column "a.admin_level" must appear in the GROUP BY clause or be used in an aggregate function


Trzecią opcją jest wyrzucenie sortowania po tej kolumnie.
  • Odpowiedz