SELECT TOP query no ArcGIS Desktop?


12

Existe uma maneira de usar um SELECT TOP (n) na área de trabalho do ArcGIS? Parece que, como o construtor de consultas do ArcGIS está efetivamente construindo a instrução SQL após a cláusula WHERE, isso pode não ser possível.

Aqui está um exemplo típico de SQL de uso:

SELECIONE O TOP 3 * DA Camada


2
Note-se que TOP e LIMIT não são suportados em geodatabases de arquivo: forums.arcgis.com/threads/68997-TOP-100
blah238

Respostas:


10

Se o banco de dados subjacente suportar subconsultas, você poderá criar uma consulta com um TOP N que retorne ObjectIds (ou qualquer outro campo) e usá-lo em sua consulta de definição.

OBJECTID IN (*query here*)

Por exemplo, aqui está uma consulta do SQL Server para uma seleção aleatória TOP 20: insira a descrição da imagem aqui

A consulta acima retornará 20 linhas diferentes toda vez que a tabela de mapa ou atributo for atualizada. Isso também pode ser útil para uma piada prática do ArcMap para usuários menos experientes (o April Fools está a menos de um mês).

Obviamente, a subconsulta não precisa ser uma consulta TOP N nem é necessário usar um ID exclusivo. Talvez faça uma consulta para encontrar duplicatas:

FIRE_ID IN (SELECT FIRE_ID
FROM [SandboxGeodb].[dbo].[TESTFEATURECLASS] GROUP BY FIRE_ID HAVING COUNT(FIRE_ID) > 1)


legais! Eu posso ver isso causando muitos problemas para alguns usuários .. "o que você fez no banco de dados ???"
George Silva

1
Enquanto eu realmente esperava poder fazer isso com os shapefiles, parece que não posso. No entanto, essa parece ser uma maneira muito boa de resolver o problema ao chamar dados de uma fonte de dados SQL que ofereça suporte a consultas SELECT TOP. Obrigado.
RyanKDalton

1
Você pode usar essas consultas na consulta Definição, mas existe alguma solução alternativa para usá-las na ferramenta Selecionar por Atributo? Ele já possui essa parte SELECT FROM pré-preenchida.
Alex Tereshenkov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.