powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
8 сообщений из 8, страница 1 из 1
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366582
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В скрине - пример, как должно быть. Мне осталось только вывести "Кол-во проживающих"
Собственно пример запроса с данными:

[src oracle ] 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 p.flat_id)"жильцы"
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
[/src oracle ]

Собственно вопрос - как мне можно это реализовать ^^
...
Рейтинг: 0 / 0
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366587
Avotge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
barsyk, жжошъ )
...
Рейтинг: 0 / 0
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366593
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avotge,

ахах) я не специально( я безрукая блин
...
Рейтинг: 0 / 0
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366594
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avotge,

как удалить тему?
...
Рейтинг: 0 / 0
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366600
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barsykкак удалить тему?

Никак.

Дайте себе труд подготовить test case.

Пример:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
with p as (select 1 id, 101 id_flat, 'Иванов' name from dual union all
      select 2 id, 101 id_flat, 'Петров' name from dual union all
      select 3 id, 102 id_flat, 'Сидоров' name from dual union all      
      select 4 id, 103 id_flat, 'Череззаборногузадерищенский' name from dual
     ),
     f as 
     (select 101 id, 'Квартира1' name from dual union all
      select 102 id, 'Квартира2' name from dual union all
      select 103 id, 'Квартира3' name from dual union all      
      select 104 id, 'Квартира4' name from dual
     )     
select f.name, listagg(p.name) within group(order by f.name), count(p.id)
  from p, f
 where p.id_flat (+) = f.id
   group by f.name
...
Рейтинг: 0 / 0
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366604
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
проба
...
Рейтинг: 0 / 0
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366607
barsyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
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
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
    #39366608
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barsyk
Код: sql
1.
проба

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


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