как не выводить повтор. поля?

Sleepy_PIP
Дата: 06.03.2007 11:18:39
тут вот задумался. задачка простая вообщем-то. но не соображу что-то ну никак как ее сделать.
есть в выборке - номер договора и на каждый номер договора - список домов ...
надо вывести как у Кайта когда он аналит. ф. рассказывает -
только в 1 записи должне присудствовать номер договора, из всех записей домов по этому договору.
Сменился номер - опять 1 напись с номером договора и далее список. т.е.

==========
dog num
1 1
2
3
2 2
5
8

там где пусто - null

что-то ничего в голову не лезет :(.
Спасибо!
Sleepy_PIP
Дата: 06.03.2007 11:24:57
все. решил. но правильно ли?
select  

NOM,
DOGOVOR_NUMBER,
case 
when lag(DOGOVOR_NUMBER,1,' ') over (partition by dogovor_number order by nom) = dogovor_number then ''
else dogovor_number
end ee,
row_number() over (partition by DOGOVOR_NUMBER order by  nom) nn 

from .....

Jannny
Дата: 06.03.2007 11:44:43
Sleepy_PIP
но правильно ли?
Ну да, самый первый пример для знакомства с аналитикой.

А что вы хотите добиться этим:
lag(DOGOVOR_NUMBER,
 1,' ')
?

ЗЫ:
Sleepy_PIP
надо вывести как у Кайта когда он аналит. ф. рассказывает
Это такое уникальное место, что всем сразу понятно, о чем речь? :))
Elic
Дата: 06.03.2007 11:54:01
lag(/*to_number(*/null/*)*/, 1, dogovor_number) over (partition by dogovor_number order by nom) as dogovor_number
...
order by dogovor_number, nom;
Sleepy_PIP
Дата: 06.03.2007 12:06:06
Спасибо. усек!