Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос для вывода лицевых счетов с ответственным квартиросъемщиком. / 8 сообщений из 8, страница 1 из 1
14.12.2016, 12:03
    #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
14.12.2016, 12:05
    #39366587
Avotge
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
barsyk, жжошъ )
...
Рейтинг: 0 / 0
14.12.2016, 12:07
    #39366593
barsyk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
Avotge,

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

как удалить тему?
...
Рейтинг: 0 / 0
14.12.2016, 12:12
    #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
14.12.2016, 12:15
    #39366604
barsyk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
Код: sql
1.
проба
...
Рейтинг: 0 / 0
14.12.2016, 12:16
    #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
14.12.2016, 12:19
    #39366608
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для вывода лицевых счетов с ответственным квартиросъемщиком.
barsyk
Код: sql
1.
проба

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


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