SpatiaLite veritabanı hatası: Böyle bir tablo yok, ancak SpatiaLite veritabanında mevcut
QGIS veritabanlarında yeniyim, ancak tüm dokümantasyonda ve çevrimiçi yardımda çaresizce yapılan bir haftalık aramada herhangi bir yanıt bulamıyorum. Bunun bir acemi hatası olabileceğini düşünüyorum, ancak bu sorunu çözemez.
İki nokta biçim dosyasından [j_pipeline_inc (çok noktalı) j_pipeline_midpts'e (nokta)] iki öznitelik tablosunu bir SQL ifadesi (ekli resim) kullanarak birleştirmeye çalışıyorum:
SELECT j_pipeline_midpts.*, j_pipeline_inc.*
FROM j_pipeline_midpts
INNER JOIN j_pipeline_midpts
on j_pipeline_midpts.LSD = j_pipeline_inc.LOCATION and j_pipeline_midpts.Licence_No=j_pipeline_inc.LICENCE_NO
Birleştirme iki anahtara (LSD ve Konum, Licence_No ve LICENCE_NO) dayalı olacaktır. İçinde bu iki nokta şekil dosyasını içeren bir SpatiaLite veritabanı (incident_move.sqlite) oluşturdum, ancak ifademi çalıştırdığımda "böyle bir tablo yok: j_pipeline_inc" diyor. Dosyalardan birini neden tanımadığını anlamıyorum. Adlarını ifade kutusuna yazdığımda, otomatik tamamlamada her iki şekil dosyası adını da gösteriyor.
Bir dosyayı SpatiaLite dosya türü olarak kaydetmeyi ve ardından diğerini bu veritabanına almayı denedim, ancak yine de bana aynı hatayı veriyor.
Ayrıca her ikisi de aynı projeksiyona sahiptir (EPSG: 3400 - NAD83).
Yanıtlar
Tablo adındaki basit bir hatadır. INNER JOIN'den sonra tablo adını j_pipeline_inc olarak değiştirin . Bunu dene:
SELECT j_pipeline_midpts.*, j_pipeline_inc.*
FROM j_pipeline_midpts
INNER JOIN j_pipeline_inc
on j_pipeline_midpts.LSD = j_pipeline_inc.LOCATION and
j_pipeline_midpts.Licence_No=j_pipeline_inc.LICENCE_NO