I am trying to load a virtual layer from two existing PostGIS tables, using a simple
LEFT JOIN statement:
SELECT t.id, t.poly FROM table_t t LEFT JOIN table_f f ON f.fk_poly_id = t.id WHERE fk_i_id = 10;
table_f is a join table containing an
id, and two foreign keys:
table_t is a standard table containing an
id and the
poly geometry that I'd like to see in my virtual layer for a feature
i (referenced by its foreign key
fk_i_id in the join table).
This query is perfectly working in
psql or pgAdmin4 and returns me some geometric features (ST_Polygon -
POLYGON Z) with their ids.
But when I add the two PostGIS tables that I need into the "Embedded layers" of the "Datasource Manager | Virtual Layer" window and when I paste the query in the dedicated space under, I keep getting this error when clicking either "Add" or the "Test" button:
Query preparation error on PRAGMA table_info(_tview): no such column: t.poly
I don't know what I may be doing wrong?
Is this a know bug?
I already tried to rewrite the query in plenty of way, including giving aliases or not, joining the other way, etc etc. All tests were working on pgAdmin but not in QGIS.
Here is the version information:
|QGIS code revision||13c1a02865|
|EPSG Registry database version||v10.041 (2021-12-03)|
|PostgreSQL client version||unknown|
|OS version||Ubuntu 22.04 LTS|