WYBIERZ TOP zapytanie w ArcGIS Desktop?

12

Czy istnieje sposób użycia SELECT TOP (n) na pulpicie ArcGIS? Wydaje się, że ponieważ konstruktor zapytań ArcGIS skutecznie buduje instrukcję SQL po klauzuli WHERE, może to nie być możliwe.

Oto typowy przykład użycia SQL :

WYBIERZ TOP 3 * Z warstwy

RyanKDalton
źródło
2
Należy pamiętać, że TOP i LIMIT nie są obsługiwane w geobazach
blah238 15.01.2013

Odpowiedzi:

10

Jeśli bazowa baza danych obsługuje zapytania podrzędne, możesz zbudować zapytanie z NAJWYŻSZYM N, który zwraca ObjectIds (lub dowolne inne pole) i użyć go w zapytaniu dotyczącym definicji.

OBJECTID IN (*query here*)

Na przykład, oto zapytanie SQL Server dla TOP 20, losowy wybór: wprowadź opis zdjęcia tutaj

Powyższe zapytanie zwróci 20 różnych wierszy przy każdym odświeżeniu mapy lub tabeli atrybutów. Może się to również przydać w przypadku żartu ArcMap dla mniej doświadczonych użytkowników (April Fools jest za niecały miesiąc).

Oczywiście zapytanie podrzędne nie musi być zapytaniem TOP N ani nie trzeba używać unikalnego identyfikatora. Może opracuj zapytanie, aby znaleźć duplikaty:

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

Jay Cummins
źródło
ładny! Widzę, że powoduje to kłopoty dla niektórych użytkowników. „Co zrobiłeś z bazą danych ???”
George Silva,
1
Chociaż naprawdę miałem nadzieję, że mogę to zrobić za pomocą plików kształtów, wydaje się, że nie mogę. Wydaje się to jednak bardzo dobrym sposobem na rozwiązanie tego problemu podczas wywoływania danych ze źródła danych SQL, które obsługuje zapytania SELECT TOP. Dzięki.
RyanKDalton,
1
Możesz użyć takich zapytań w zapytaniu Definicja, ale czy istnieje jakieś obejście, aby użyć ich w narzędziu Wybierz według atrybutu? Ma już tę część WYBIERZ Z wstępnie wypełnioną.
Alex Tereshenkov