Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Distinct не работает после list / 7 сообщений из 7, страница 1 из 1
10.02.2019, 14:41
    #39771816
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
Доброе время суток,
У меня есть такое «
Код: sql
1.
view

», с агрегатными функциями:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE OR ALTER VIEW STATISTIC_CONTRACT(
    PROPOSAL_ID,
    SORT_WORK_LIST,
    COUNT_SORT_WORK,
    DEPARTMENT_EXECUTE_LIST,
    COUNT_DEPARTMENT_EXECUTE)
AS
select d.PROPOSAL_ID,
list(distinct(sw.NAME_SORT_WORK), ', ') as SORT_WORK_LIST,
count(distinct(sw.NAME_SORT_WORK)) as COUNT_SORT_WORK,
list(distinct(dp.NAME_SHORT), ', ') as DEPARTMENT_EXECUTE,
count(distinct(c.DEPARTMENT_ID_EXECUTE)) as COUNT_DEPARTMENT_EXECUTE
from DEVICES d
join SORT_WORK sw on d.SORT_WORK_ID = sw.ID
join CONTRACT c on c.PROPOSAL_ID = d.PROPOSAL_ID and c.DEPARTMENT_ID_EXECUTE <> 13
join DEPARTMENT dp on dp.ID = c.DEPARTMENT_ID_EXECUTE
group by d.PROPOSAL_ID
;


Результатом которого в « SORT_WORK_LIST », является несколько строк с одинаковыми значениями «покраска, побелка».

Вопрос: почему на этот результат view не работает запрос

Код: sql
1.
select distinct SORT_WORK_LIST from STATISTIC_CONTRACT where SORT_WORK_LIST <> 'null'



т.е. результатом является теже несколько строк с одинаковыми значениями « покраска, побелка ».

И как мне ограничить этот результат?
заранее спасибо
...
Рейтинг: 0 / 0
10.02.2019, 14:49
    #39771818
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
distinct в принципе не работает на блобы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.02.2019, 16:28
    #39771858
Kos-2010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
Dimitry Sibiryakovdistinct в принципе не работает на блобы.


а что, в таком случае можно предпринять? Кроме отсеевания дублей в DataSet.
...
Рейтинг: 0 / 0
10.02.2019, 16:35
    #39771861
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
откусить substring-ом требуемый кусочек блоба, при-cast-ить к varchar и привет.
Хотя логика сего действа ускользает от меня, ибо надо еще и сортировке внутри блоба позаботиться заранее.
...
Рейтинг: 0 / 0
11.02.2019, 12:12
    #39772129
KreatorXXI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
Kos-2010,

напрашивается select from select. Сначала применить distinct, потом list.
...
Рейтинг: 0 / 0
12.02.2019, 14:52
    #39772874
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
а list - всегда блобы?

вроде же это исправляли, чтобы тип результата соотвествовал аргументу? или я с другими функциями путаю?
...
Рейтинг: 0 / 0
12.02.2019, 15:27
    #39772903
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Distinct не работает после list
Arioch,

ошибаешься. LIST всегда возвращает BLOB, осюда и всякие ограничения на DISTINCT и ORDER в оконных функциях
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Distinct не работает после list / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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