Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Использование подзапроса возвращающего единственное значение
SELECT b.sys, b.Geometry.STArea(), k.sys FROM Здания AS b, Кварталы AS k WHERE b.Geometry.Within(k.Geometry) AND b.Geometry.STArea()/ (SELECT SUM(b2.Geometry.STArea()) FROM Здания AS b2 WHERE b2.Geometry.STWithin(k.Geometry)) > 0.1 где:
Приведенный запрос находит объекты слоя Здания (или просто здания) располагающиеся внутри объектов слоя Кварталы (кварталов), находится общая площадь зданий в данном квартале и выводятся информация о записях площадь которых больше 10% от общей площади зданий в данном квартале. Вывод результата подзапроса SELECT b.sys, b.Geometry.STArea()/( SELECT SUM(b2.Geometry.STArea()) FROM Здания AS b2 WHERE b2.Geometry.STIntersects(k.Geometry)), k.sys FROM Здания AS b, Кварталы AS k WHERE b.Geometry.intersects(k.Geometry) AND b.Geometry.STArea()/( SELECT SUM(b2.Geometry.STArea()) FROM Здания AS b2 WHERE b2.Geometry.STIntersects(k.Geometry)) > 0.1 Приведенный запрос аналогичен рассмотренному в предыдущем примере, за тем исключением, в результате выполнения команды выборки выводятся не площади объектов, а их отношение к общей площади объектов в квартале.
Использование подзапроса возвращающего список значений SELECT sys, Улица FROM Здания WHERE Улица IN (SELECT Улица from Здания GROUP BY Улица HAVING COUNT(*)> 20) Запрос возвращает список записей в которых значение поля Улица входит в список улиц имеющих более двадцати записей.
|