powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Distinct не работает после list
7 сообщений из 7, страница 1 из 1
Distinct не работает после list
    #39771816
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток,
У меня есть такое «
Код: 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
Distinct не работает после list
    #39771818
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
distinct в принципе не работает на блобы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Distinct не работает после list
    #39771858
Kos-2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovdistinct в принципе не работает на блобы.


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

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

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

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


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