powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Bug 9.0.2.2551
3 сообщений из 3, страница 1 из 1
Bug 9.0.2.2551
    #32908546
L0cat0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот обнаружилось следующее :

alter procedure
TLSYS.bug_9022551(in ShowBug integer)
begin
declare local temporary table #CL(
row_id char(1) not null,
qty_row numeric(16,2) null,
row_key char(8) not null,
) on commit delete rows;
insert into #CL values( '1',3,'QWERTY') ;
insert into #CL values( '2',4,'ASDFGH') ;
insert into #CL values( '3',5,'QWERTY') ;
insert into #CL values( '4',3,'QWERTY') ;
insert into #CL values( '5',4,'ASDFGH') ;
insert into #CL values( '6',5,'QWERTY') ;
insert into #CL values( '7',3,'QWERTY') ;
insert into #CL values( '8',4,'ASDFGH') ;
insert into #CL values( '9',5,'QWERTY') ;
if ShowBug = 1 then
select row_key,qty_row from #CL union
select 'ZXCVBN',0 from dummy
else
select row_key,qty_row from #CL
end if
-- select sum(qty_row) from bug_9022551(0) = 36
-- select sum(qty_row) from bug_9022551(1) = 12
end;

т.е. если в результат выборки не идет уникальный идентификатор -
то при последующем UNION он просто сливает записи.

Удачи !
...
Рейтинг: 0 / 0
Bug 9.0.2.2551
    #32908573
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гм, читаем BOL про UNION:
BOLThe results of UNION are the same as UNION ALL, except that duplicate rows are eliminated. Eliminating duplicates requires extra processing, so UNION ALL should be used instead of UNION where possible. UNION DISTINCT is identical to UNION.
То есть четко сказано, что UNION=UNION DISTINCT, т.е. из результирующего набора данных будут удалены все дубликаты, у которых значения полей совпадают.

Вывод: бага нет, поставьте в процедуре UNION ALL и все заработает как нужно :)
...
Рейтинг: 0 / 0
Bug 9.0.2.2551
    #32908636
L0cat0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSГм, читаем BOL про UNION:
BOLThe results of UNION are the same as UNION ALL, except that duplicate rows are eliminated. Eliminating duplicates requires extra processing, so UNION ALL should be used instead of UNION where possible. UNION DISTINCT is identical to UNION.
То есть четко сказано, что UNION=UNION DISTINCT, т.е. из результирующего набора данных будут удалены все дубликаты, у которых значения полей совпадают.

Вывод: бага нет, поставьте в процедуре UNION ALL и все заработает как нужно :)

Про себя : когда ничего не помагает - прочти наконец инструкцию,
если это не помогло - прочти ее внимательно !

Спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Bug 9.0.2.2551
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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