[Qgis-user] 1 to many relationship does not allow to display the many

Janneke van Dijk janneke.qgis at gmail.com
Thu Sep 19 08:13:05 PDT 2019


3.6, but will check when I have time later tonight and see if other 
versions show the same issue. And will create a sample project with bug 
report.
Thanks!
Janneke

On 19/09/2019 18:04, Alexandre Neto wrote:
> It sounds like a bug...
> Can you provide a data sample and project. Also, what QGIS version are 
> you using?
>
> Alexandre Neto
>
> On Thu, Sep 19, 2019 at 3:57 PM Janneke van Dijk 
> <janneke.qgis at gmail.com <mailto:janneke.qgis at gmail.com>> wrote:
>
>     Hi Alexandre,
>     Also thanks for the quick response!
>
>     What I can do with the DB manager is:
>>
>>
>>         select location_point.geom, asset_point.assetid,
>>         location_point.fid
>>         from asset_point cross join location_point on
>>         asset_point.locationid =
>>         location_point.fid
>>
>>
>>     This should work, but why the CROSS JOIN? a simple join should be
>>     enough.
>     I first had a simple join, then saw an example of a cross join and
>     tried that in the hope that that would make a difference.
>>
>>         this query yields 170 records, corresponding with the number
>>         of records
>>         in the assets table. When I load as a new layer, the result
>>         is a table
>>         with 170 records, but 100 filtered (the total number of
>>         locations). I
>>         chose assetid to be the unique id (which it is).
>>
>>         Is that expected behaviour? How else can I display all the
>>         records in
>>         the assets table (instead of only the 100 that are filtered
>>         now)? I know
>>         I can do it in Postgres but for my purpose now I don't want
>>         to go there.
>>
>>
>>     An alternative is to create a relation between the two tables,
>>     the assets will show in the location feature form. You can even
>>     add more assets to a certain location.
>     I have a relationship, and the assets will show up in the form of
>     the location when you click on the location (including locations
>     with several). However, it doesn't allow me to label the location
>     with information from the assets, or create symbology based on
>     asset information.
>
>     What puzzles me is that the query results in 170 records, I would
>     have expected the geometry to be joined to each of the 170
>     attribute records and then be displayed - so where does the filter
>     with a 100 suddenly come from? (Is this a bug?)
>
>     As a work around I think I could get xy coordinates of the
>     location, then join them to the assets, export to csv and import
>     again as a delimited text layer for display purposes.
>
>     I was hoping someone could either explain why this result makes
>     sense, or that I just made a mistake somewhere...any more thoughts?
>
>     Thanks for sharing your thoughts!
>
>     Janneke
>
>>
>>     Alexandre Neto
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20190919/6ecbcea1/attachment.html>


More information about the Qgis-user mailing list