powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, пжста, найти кол-во проживающих в квартире)
18 сообщений из 18, страница 1 из 1
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366556
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366557
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бар сук, так на моей памяти задачи еще никто не ставил.
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366561
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По сути я хочу в поле "ФИО" просуммировать кол-во жильцов, но как это сделать я не знаю. COUNT тут не помогает. Причем объединенные поля с помощью LISTAGG.((
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366562
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соответствующий вопросу ответ.

> кол-во проживающих в квартире

Судя по картинке, их четверо.
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366563
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366565
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,

Там есть поле номер квартиры, и получается для одной записи - кол-во проживающих (если сложить фамилии) будет двое, а для другой 1 человек
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366568
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Судя по картинке, их четверо.

Виноват, пятеро.

> так на моей памяти задачи еще никто не ставил.

В принципе, нормальная постановка.

> кол-во проживающих (если сложить фамилии) будет двое, а для другой 1 человек

Вы там почему-то считаете distinct flat_id - квартиры.
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366574
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barsykCOUNT тут не помогает
При такой постановке вообще мало что поможет )
1. в одной квартире м.быть несколько лицевых счетов, на одном ЛС может быть несколько жильцов, т.е. группировать по account_number правильно ли?
2. выкладывая тестовый набор данных и что из чего надо получить
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366580
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barsyk, щас тебя привлекут за раскрытие персональных данных :)
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366585
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avotge,

там все равно не верно, так что все норм)
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366589
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,

это была проба от безысходности)
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366599
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barsykdmdmdm,

Там есть поле номер квартиры, и получается для одной записи - кол-во проживающих (если сложить фамилии) будет двое, а для другой 1 человек
посчитайте разделители в том вашем столбце, который из-под listagg
и останется только отличить 0 от 1
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366609
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
select distinct p.account_number"Лиц.счет.", 
       listagg (z.last_name||' '||substrc(z.name, 1, 1)||'. '||substrc(z.patronymic, 1, 1), '; ')WITHIN GROUP(order by p.account_number) over (partition by p.account_number)"ФИО", 
       r.name"Название региона", t.short_name||' '||c.name"город", e.short_name||' '||s.name"адрес",h.house_number"ном.дома", f.flat_number"номер квартиры",
       count(DISTINCT z.last_name||' '||substrc(z.name, 1, 1)||'. '||substrc(z.patronymic, 1, 1))"жильцы"
from region r,
     cities c,
     street s,
     house h,
     personal_account p,
     citizen z,
     flat_citizen l,
     flat f,
     street_type e,
     city_type t
where r.id=c.region_id and 
      c.id=s.cities_id and 
      s.id=h.street_id and 
      z.id=l.citizen_id and 
      p.account_number=l.account_number and
      c.id=1 and
      s.id= any (50, 504) and
      p.flat_id=f.id and
      h.id=f.house_id and
      t.id=c.city_type_id and
      e.id=s.type_id and
      l.date_end between to_date('01.12.2016', 'dd.mm.yyyy') and to_date('01.12.2100', 'dd.mm.yyyy')
group by p.account_number, z.last_name||' '||substrc(z.name, 1, 1)||'. '||substrc(z.patronymic, 1, 1),r.name, t.short_name||' '||c.name, e.short_name||' '||s.name,
 h.house_number, f.flat_number
order by h.house_number, f.flat_number
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366618
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
count(DISTINCT z.last_name||' '||substrc(z.name, 1, 1)||'. '||substrc(z.patronymic, 1, 1))"жильцы"


Семен Владимирович = Семену Викторовичу? )
substr лучше убрать имхо, еще лучше оперировать сериями/номерами документов, а не фио, еще лучше просто заведомо знать число жильцов на каждом ЛС или в ЖКХ у нас щас обязательный пофамильный учет всех жильцов? у них же задача посчитать комуналку, а не миграционный учет, не?
Ну и вопрос открыт: нужны все-таки жильцы в квартире (как поставлен вопрос) или на лиц. счете? )
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366645
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avotge,

substr никак нельзя убрать - это одно из условий. Все поля должны быть такими какие есть.
Жильцы нужны квартирные)
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366649
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avotge,

Запрос для вывода лицевых счетов с ответственным квартиросъемщиком. ФИО сократить до инициалов. Примечание: ответственного квартиросъемщика может не быть, тогда должна выводиться пустая строка вместо ФИО или может быть два ответственных, тогда выводить через запятую. (условия)
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366656
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barsykЖильцы нужны квартирные
Тогда почему группировка по account_number?
Ведь квартиру могут раздербанить и тогда в одной квартире вполне может быть несколько account_number-ов типа комуналка?)barsyksubstr никак нельзя убрать - это одно из условий
Если исходный запрос нельзя менять, тагда не знаю как ))
...
Рейтинг: 0 / 0
Помогите, пжста, найти кол-во проживающих в квартире)
    #39366667
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avotge,

Да, вы были правы. Ответственный квартиросъемщик получается в 1 экземпляре. Немного поменяла код

Код: plsql
1.
listagg (z.last_name||' '||substrc(z.name, 1, 1)||'. '||substrc(z.patronymic, 1, 1), '; ')WITHIN GROUP(order by z.last_name||' '||substrc(z.name, 1, 1)||'. '||substrc(z.patronymic, 1, 1)) over (partition by p.account_number)"ФИО"



А как будет, если поменять исходный запрос? ))
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите, пжста, найти кол-во проживающих в квартире)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]