Hi,

 

I have a problem using System.Data.Sqlite in a C# application. I have 2
tables, each table with a geometry field and a spatial index, so the
following request give me the results I want using Spatialite GUI or QGIS :

 

SELECT * FROM Pylones P

JOIN Lignes L ON L.lig_id = P.lig_id AND L.lig_id IN (3,4)

JOIN idx_Pylones_pyl_geom I ON P.pyl_id = I.pkid AND I.xmax >= 910202.5 AND
I.ymax >= 6506392.5 AND I.xmin <= 924587.5 AND I.ymin <= 6513427.5

 

But, when I try to use the same request with System.Data.Sqlite, I only
obtain one record (the first one). The only way I found to obtain the
correct results is to remove joins like this : 

 

SELECT pyl_id, lig_id, pyl_num, pyl_geom FROM Pylones 

WHERE lig_id IN (3,4) 

AND pyl_id IN (SELECT pkid FROM idx_Pylones_pyl_geom WHERE xmax >= 910202.5
AND ymax >= 6506392.5 AND xmin <= 924587.5 AND ymin <= 6513427.5)

 

So, I would like to know if there is a bug in System.Data.SQLite or if I
don't understand something using this assembly.

 

Eric DAVID

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to