Onze collega Egge-Jan heeft een beschrijving gemaakt die we jullie niet willen onthouden, over het querien van objecttypes. Een situatie waarin dit van pas kan komen is wanneer er meerdere objecttypes (punten, lijnen, vlakken) in eenzelfde tabel zijn beland. Dit kun je zien in de layer control wanneer de tabel is toegevoegd aan een kaart. In plaats van één symbool voor objecttype zie je dan twee of meerdere symbolen onder elkaar staan.
Volgens best practice is het niet raadzaam om meerdere objecttypes in dezelfde tabel te bewaren. Met behulp van onderstaande beschrijving kun je alle objecten van een bepaald type selecteren, om bijvoorbeeld in een aparte tabel te plaatsen. Lees verder om de methode die Egge-Jan hiervoor gebruikt te zien.
Om de vraag te beantwoorden heb ik een tabel gemaakt met verschillende objecten.

Om alleen de punten te selecteren gebruik ik de volgende query:
Select * from Testobjecten where Str$(obj) = “Point” into Alleen_punten

De tabel uit het voorbeeld – Testobjecten – is eenvoudig zelf na te maken om het een en ander te testen. Houd er rekening mee dat de tabelnaam wel hetzelfde moet zijn als in het voorbeeld, wil je de queries letterlijk overnemen. Je kunt om de queries uit te voeren de statements kopieren naar het MapBasic venster of zelf invullen het dialoogscherm SQL Select.
De andere queries zijn:
Select Str$(obj) from Testobjecten into Object_typen

Select Str$(obj) “Type” from Testobjecten into Object_typen2

Select Str$(obj) “Type”, Count(*) “Aantal” from Testobjecten group by Type into Aantal_objecten_per_type


0 Responses to “Query naar object type”