Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Разве это правильно ? / 3 сообщений из 3, страница 1 из 1
11.04.2006, 13:20
    #33658165
Lerche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разве это правильно ?
Sybase ASA 9, select @@version = 9.0.2.3198

В приложении - скрипт создания таблички.

Вот такой запрос работает не совсем правильно, как мне кажется:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select * from 
(
select start_date, end_date, count( 1 ) as c, id 
from dates
group by start_date, end_date, id  with rollup
) t
where t.id is null


rollup по идее добавляет три типа итогов - количество записей с одинаковой start_date, потом start_date и end_date, потом - вообще во всей выборке. Во всех этих итоговых строках id будет равно null. Соответственно я надеюсь вышеуказанным запросом получить только итоговые строчки. Видимо зря, потому что ничего не возвращается. Вопрос в том, насколько это правильно?

PS. в MS SQL работает адекватно.
...
Рейтинг: 0 / 0
11.04.2006, 13:21
    #33658167
Lerche
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разве это правильно ?
Вот приложение со скриптом.
...
Рейтинг: 0 / 0
11.04.2006, 14:29
    #33658453
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разве это правильно ?
Вот так поможет:
Код: plaintext
1.
2.
3.
SELECT start_date, end_date, count( 1 ) AS c, id
FROM dates
GROUP BY start_date, end_date, id  WITH ROLLUP
HAVING GROUPING(id) =  1 
То, что не работает по вышеприведенному запросу - явный баг разработчиков, увлекшихся оптимизацией запросов и забывших, что вынос внешнего условия в DT не всегда представляется возможным, особенно в аналитических запросах (в данном случае ASA явно переносила ID IS NULL в WHERE подзапроса). Ну а раз баг, значит будем заявлять :)
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Разве это правильно ? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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