<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Pietro,<br>
      <br>
      I had the same in a project with a view. Solved it by using the
      function row_number which can be used as long as it is a usual
      integer: <br>
      <br>
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <span style="font-family: Calibri; color: black;">CREATE OR
        REPLACE VIEW </span><span style="font-family: Calibri; color:
        black;">cadastre.districtview</span><span style="font-family:
        Calibri; color: black;"> AS </span>
      <br>
      <span style="font-family: Calibri; color: black;">
</span><br>
      <span style="font-family: Calibri; color: black;"><span
          style="mso-spacerun:yes"> </span>SELECT </span><span
        style="font-family: Calibri; color: black;">row_number</span><span
        style="font-family: Calibri; color: black;">() OVER (ORDER BY
        d.gid)::integer AS </span><span style="font-family: Calibri;
        color: black;">no</span><span style="font-family: Calibri;
        color: black;">, </span><span style="font-family: Calibri;
        color: black;">d.districtcode</span><span style="font-family:
        Calibri; color: black;">, </span><span style="font-family:
        Calibri; color: black;">d.geom</span><span style="font-family:
        Calibri; color: black;">, </span><span style="font-family:
        Calibri; color: black;">count</span><span style="font-family:
        Calibri; color: black;">(p.gid) </span><span
        style="font-family: Calibri; color: black;">as</span><span
        style="font-family: Calibri; color: black;"> </span><span
        style="font-family: Calibri; color: black;">count</span><span
        style="font-family: Calibri; color: black;"> </span><span
        style="font-family: Calibri; color: black;">from</span><span
        style="font-family: Calibri; color: black;"> </span><span
        style="font-family: Calibri; color: black;">topo.district</span><span
        style="font-family: Calibri; color: black;"> d</span>
      <br>
      <span style="font-family: Calibri; color: black;"><span
          style="mso-spacerun:yes"> </span>LEFT JOIN </span><span
        style="font-family: Calibri; color: black;">cadastre.parcel</span><span
        style="font-family: Calibri; color: black;"> p ON </span><span
        style="font-family: Calibri; color: black;">substring</span><span
        style="font-family: Calibri; color: black;">(</span><span
        style="font-family: Calibri; color: black;">p.villagecode</span><span
        style="font-family: Calibri; color: black;"> </span><span
        style="font-family: Calibri; color: black;">from</span><span
        style="font-family: Calibri; color: black;"> 1 </span><span
        style="font-family: Calibri; color: black;">for</span><span
        style="font-family: Calibri; color: black;"> 4) = </span><span
        style="font-family: Calibri; color: black;">d.districtcode</span><span
        style="font-family: Calibri; color: black;"> Group </span><span
        style="font-family: Calibri; color: black;">by</span><span
        style="font-family: Calibri; color: black;"> </span><span
        style="font-family: Calibri; color: black;">d.districtcode</span><span
        style="font-family: Calibri; color: black;">, </span><span
        style="font-family: Calibri; color: black;">d.geom</span><span
        style="font-family: Calibri; color: black;">, d.gid;<br>
        <br>
        <br>
        so something like: <br>
        select row_number() over(order by geom)::integer as no,
        ST_Union(ST_Buffer(geom,500) ) as geom from public.mytable group
        by geom;</span><br>
      <br>
      should also work. <br>
      <meta name="ProgId" content="PowerPoint.Slide">
      <meta name="Generator" content="Microsoft PowerPoint 12">
      <h1><br>
      </h1>
      <br>
      Am 11/7/2012 8:38 AM, schrieb Pietro Rossin:<br>
    </div>
    <blockquote cite="mid:1352273923135-5014459.post@n6.nabble.com"
      type="cite">
      <pre wrap="">Hi all

I tried to load in Qgis, by using fast SQL layer, a query like this:

SELECT (select ST_Union(ST_Buffer(geom,500)) FROM public.mytable) as geom;

This query make a buffer of the features in mytable and union them in a
single polygon (if contiguous).

It works in pgadmin and in openjump but not in Qgis, because Qgis need a
unique value (integer) column coming from the query.

Of course I can make a SELECT INTO mynewtable adding a serial field "gid",
but if I have a lot of steps to perform my spatial analysis I fill my db
with a lot of temp data.

So, is there some way to make a "volatile" integer unique field in the above
query so Qgis will be happy with it ;-)?

I'm using Qgis 1.8 Postgis 2

Thanks
Pietro



--
View this message in context: <a class="moz-txt-link-freetext" href="http://osgeo-org.1560.n6.nabble.com/How-to-load-postgis-layer-without-gid-if-possible-tp5014459.html">http://osgeo-org.1560.n6.nabble.com/How-to-load-postgis-layer-without-gid-if-possible-tp5014459.html</a>
Sent from the Quantum GIS - User mailing list archive at Nabble.com.
_______________________________________________
Qgis-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Qgis-user@lists.osgeo.org">Qgis-user@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/qgis-user">http://lists.osgeo.org/mailman/listinfo/qgis-user</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>