Войти

Показать полную графическую версию : *SQL* | как пересечь строчки агрегатной функцией


pva
04-09-2009, 09:11
Здравствуйте! подскажите, пожалуйста, как сделать пересечение строчек, то есть найти строчку, на которую они все начинаются. Например:

declare @table1 table (name varchar(100));
insert into @table1 values 'архимед'
insert into @table1 values 'архангел'
insert into @table1 values 'архиеважно'
insert into @table1 values 'архиватор'

-- чтобы получилось типа:
select agg_intersect_str(name) from @table; -- выдало бы 'арх'

Либо как можно переформулировать задачу: сгруппировать список имён по первому слову и как можно более понятно назвать группу

Delirium
04-09-2009, 09:31
а если будет так:

declare @table1 table (name varchar(100));
insert into @table1 values 'архимед'
insert into @table1 values 'архангел'
insert into @table1 values 'архиеважно'
insert into @table1 values 'архиватор'
insert into @table1 values 'бетатестер'
insert into @table1 values 'бетаверсия'
insert into @table1 values 'бетаважно'


select agg_intersect_str(name) from @table - что должно быть на выходе?

BlackEric
04-09-2009, 12:38
Через Like?

pva
07-09-2009, 07:09
что должно быть на выходе? »
должна быть пустая строка
Через Like? »
через like не получится, потому что не известно заранее, что в этих словах общее




© OSzone.net 2001-2012