
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.07.2017, 11:01
|
|||
|---|---|---|---|
Select. Получить значение, если его нет - получить другое и т.д. |
|||
|
#18+
Уважаемые! Помогите с запросом. Вот есть табличка Objects (id,...) с объектами недвижимости, и есть табличка Area (id,object_id,type_code,value...) с площадями этих объектов. У объекта может быть или вообще не быть несколько площадей (записей, а не полей в Area!!!): общая/жилая/фактическая/уточненная.... (поле type_code, value - значение площади) Можно ли вытащить по объекту его общую площадь, если её нет - жилую и т.д. заранее неизвестно, есть ли вообще площадь у объекта, если есть, то неизвестно сколько их и какие Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2017, 11:49
|
|||
|---|---|---|---|
Select. Получить значение, если его нет - получить другое и т.д. |
|||
|
#18+
Флексей, Можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2017, 12:42
|
|||
|---|---|---|---|
Select. Получить значение, если его нет - получить другое и т.д. |
|||
|
#18+
RTFM FIRST/LAST ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2017, 08:41
|
|||
|---|---|---|---|
|
|||
Select. Получить значение, если его нет - получить другое и т.д. |
|||
|
#18+
Для справочника по type_code, нужно пронумеровать типы площадей в том порядке, в котором нужно получить результат. Затем запрос с подзапросом. В подзапросе соединяете объект, значение площади, ранг площадей и используете оконную(аналитическую) функцию row_number() с сортировкой по рангу в рамках каждого объекта. Во внешнем запросе выбираете первую строку для каждого объекта Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2017, 11:06
|
|||
|---|---|---|---|
Select. Получить значение, если его нет - получить другое и т.д. |
|||
|
#18+
Evgeny2, т.к. Флексей не знает Флексей ... заранее неизвестно, есть ли вообще площадь у объекта ... использование inner join не совсем корректно, лучше left join и тогда rn = 1 тоже не совсем корректно, т.к. сулит потерей данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1885588]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 464ms |

| 0 / 0 |
