<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks Regina, Simon and Alexandre for a quick help.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I used both the suggestions in the QGIS DB Manager. Simon's SQL worked but gave me an error when I try to add the SQL layer on a map however, Regina's SQL worked without any problem.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I appreciate your help and suggestions.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
-Tsering</div>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="Signature">
<div></div>
<p><br>
</p>
</div>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> postgis-users <postgis-users-bounces@lists.osgeo.org> on behalf of Regina Obe <lr@pcorp.us><br>
<b>Sent:</b> Tuesday, April 28, 2020 1:03 PM<br>
<b>To:</b> 'PostGIS Users Discussion' <postgis-users@lists.osgeo.org><br>
<b>Subject:</b> Re: [postgis-users] Postgis spatial join display error</font>
<div> </div>
</div>
<style>
<!--
@font-face
        {font-family:Helvetica}
@font-face
        {font-family:"Cambria Math"}
@font-face
        {font-family:Calibri}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif}
a:link, span.x_MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:visited, span.x_MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline}
span.x_EmailStyle17
        {font-family:"Calibri",sans-serif;
        color:#1F497D}
.x_MsoChpDefault
        {font-family:"Calibri",sans-serif}
@page WordSection1
        {margin:1.0in 1.0in 1.0in 1.0in}
div.x_WordSection1
        {}
-->
</style>
<div lang="EN-US" link="blue" vlink="purple">
<div class="x_WordSection1">
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D">Oh one more thing – don’t put a ; after your query.</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D">Sorry that was my mistake.  I ran into an issue which I discovered was because I put in a ; at the end</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D"> </span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D">QGIS when it tried to add the row_number() just wrapped the query around – so the ; made the sub query invalid.</span></p>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D"> </span></p>
<div style="border:none; border-left:solid blue 1.5pt; padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal"><b><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"> postgis-users [mailto:postgis-users-bounces@lists.osgeo.org]
<b>On Behalf Of </b>Alexandre Neto<br>
<b>Sent:</b> Tuesday, April 28, 2020 12:59 PM<br>
<b>To:</b> PostGIS Users Discussion <postgis-users@lists.osgeo.org><br>
<b>Subject:</b> Re: [postgis-users] Postgis spatial join display error</span></p>
</div>
</div>
<p class="x_MsoNormal"> </p>
<div>
<p class="x_MsoNormal">Hi,</p>
<div>
<p class="x_MsoNormal"> </p>
</div>
<div>
<p class="x_MsoNormal">Yes, QGIS dislike columns with the same name, so you need to use alias to change their names.</p>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<div>
<div>
<p class="x_MsoNormal">Regarding the unique id, if you are using the dbmanager sql editor, you no longer need a unique id column, qgis will create one. Nevertheless, if you use the query in a view, not only you should have a unique id column, it's suggested
 that it's the first column, so that QGIS pick it up automatically.</p>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<div>
<p class="x_MsoNormal">Alexandre Neto</p>
</div>
</div>
</div>
<p class="x_MsoNormal"> </p>
<div>
<div>
<p class="x_MsoNormal">A terça, 28/04/2020, 17:51, Simon Norris <<a href="mailto:snorris@hillcrestgeo.ca">snorris@hillcrestgeo.ca</a>> escreveu:</p>
</div>
<blockquote style="border:none; border-left:solid #CCCCCC 1.0pt; padding:0in 0in 0in 6.0pt; margin-left:4.8pt; margin-right:0in">
<div>
<p class="x_MsoNormal">Also, the DB manager insists on a unique key per feature.</p>
<div>
<p class="x_MsoNormal">If there is more than one station per neighbourhood you may also have to add one - I generally wrap the query something like this:</p>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<div>
<p class="x_MsoNormal">SELECT row_number() over() as id, * </p>
</div>
<div>
<p class="x_MsoNormal">FROM (</p>
</div>
<div>
<p class="x_MsoNormal"> SELECT </p>
</div>
<div>
<p class="x_MsoNormal">   s.*, <a href="http://n.name" target="_blank">n.name</a> AS neighborhood </p>
</div>
<div>
<p class="x_MsoNormal">  FROM nyc_neighborhoods AS n </p>
</div>
<div>
<p class="x_MsoNormal"> JOIN nyc_subway_stations AS s </p>
</div>
<div>
<p class="x_MsoNormal"> ON ST_Contains(n.geom, s.geom)</p>
</div>
<div>
<p class="x_MsoNormal">) as q;</p>
<div>
<p class="x_MsoNormal"><br>
<br>
</p>
<blockquote style="margin-top:5.0pt; margin-bottom:5.0pt">
<div>
<p class="x_MsoNormal">On Apr 28, 2020, at 9:45 AM, Regina Obe <<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>> wrote:</p>
</div>
<p class="x_MsoNormal"> </p>
<div>
<div>
<div>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D">Try doing</span></p>
</div>
<div>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D"> </span></p>
</div>
<div>
<p class="x_MsoNormal"><span style="font-family:"Calibri",sans-serif; color:#C82613">SELECT s.*,
<a href="http://n.name" target="_blank">n.name</a> AS neighborhood FROM nyc_neighborhoods AS n JOIN nyc_subway_stations AS s ON ST_Contains(n.geom, s.geom);</span></p>
</div>
<div>
<p class="x_MsoNormal"><span style="font-family:"Calibri",sans-serif; color:#C82613"> </span></p>
</div>
<div>
<p class="x_MsoNormal"><span style="font-family:"Calibri",sans-serif">When you do *, it picks up all columns from both tables and I don’t think QGIS likes duplicated columns</span></p>
</div>
<div>
<p class="x_MsoNormal"><span style="font-family:"Calibri",sans-serif"> </span></p>
</div>
<div>
<p class="x_MsoNormal"><span style="font-size:11.0pt; font-family:"Calibri",sans-serif; color:#1F497D"> </span></p>
</div>
<div style="border:none; border-left:solid blue 1.5pt; padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<div>
<p class="x_MsoNormal"><b><span style="font-size:11.0pt; font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt; font-family:"Calibri",sans-serif"> postgis-users [<a href="mailto:postgis-users-bounces@lists.osgeo.org" target="_blank">mailto:postgis-users-bounces@lists.osgeo.org</a>] <b>On
 Behalf Of </b>Tsering W. Shawa<br>
<b>Sent:</b> Tuesday, April 28, 2020 12:32 PM<br>
<b>To:</b> <a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<b>Subject:</b> [postgis-users] Postgis spatial join display error</span></p>
</div>
</div>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif">I am new to PostGIS and trying to learn how everything works. I am using Introduction to PostGIS site data to test different GIS function including spatial join.
 The spatial join SQL statement seems to work [<span style="color:#C82613">SELECT * FROM nyc_neighborhoods AS n JOIN nyc_subway_stations AS s ON ST_Contains(n.geom, s.geom);</span> ] but when I try to add the result to the QGIS I get an error message saying
 "there was an error creating the SQL layer". When I tried the simpler the SQL function by selecting only row with a particular name [<span style="color:#C82613">SELECT * FROM nyc_neighborhoods WHERE name = 'Soho';</span>]. The SQL statement worked as well
 as I was able to add the SQL layer on a map. I am using QGIS's DB Manager to write SQL statements.</span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif"> </span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif">I was wondering what I am missing here. </span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif"> </span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif">Any suggestions or help will be appreciated. FYI. I have installed PostgreSQL 12 with PostGIS 3.</span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif"> </span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif">Many thanks,</span></p>
</div>
</div>
<div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif">-Tsering</span></p>
</div>
</div>
<div>
<p class="x_MsoNormal"><span style="font-family:"Calibri",sans-serif"> </span></p>
</div>
</div>
<div>
<div>
<div>
<p class="x_MsoNormal"><span style="font-family:"Calibri",sans-serif"> </span></p>
</div>
</div>
</div>
</div>
</div>
<p class="x_MsoNormal"><span style="font-size:9.0pt; font-family:"Helvetica",sans-serif">_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a></span></p>
</div>
</blockquote>
</div>
<p class="x_MsoNormal"> </p>
</div>
</div>
<p class="x_MsoNormal">_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a></p>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>