Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка из таблицы записей с разными корнями и суффиксами  [new]
kot_crowd
Member

Откуда:
Сообщений: 8
Всем здравствуйте,
Есть таблица с записями вида:
Name Description
1_DK блаблабла
1_DK трыы
1_SEL ууууууууууу
1_SEL юююююююю
2_SEL ццццц
2_SEL hhhhhhhh

где 1,2 будем называть корнем, а DK и SEL будем называть суффиксами.
Необходимо сделать такую выборку, что бы ко всем имеющимся, не повторяющимся DK присоединились имеющиеся, не повторяющиеся SEL-ы, корни которых таковы, что нет DK с такими корнями

Результат выборки
Name
1_DK
2_SEL
9 апр 19, 08:28    [21856691]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2369
Блог
kot_crowd,

;with a as (select * from (values ('1_DK', 'блаблабла'),
('1_DK', 'трыы'),
('1_SEL', 'ууууууууууу'),
('1_SEL', 'юююююююю'),
('2_SEL', 'ццццц'),
('2_SEL', 'hhhhhhhh')) as t (id, name))
, b as (select distinct substring(id,1,charindex('_',id)-1) as prefix
, substring(id,charindex('_',id)+1,DATALENGTH(id)-charindex('_',id)) as suffix
from a)
select prefix+'_'+suffix as id from b bb
where suffix = 'DK' or not exists (select 1 from b bb1 where bb1.suffix='DK' and bb1.prefix=bb.prefix)
9 апр 19, 09:03    [21856709]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
kot_crowd
Member

Откуда:
Сообщений: 8
Павел Воронцов,

Не правильный синтаксис возле ключевого слова "values"
9 апр 19, 09:40    [21856740]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6376
kot_crowd
Павел Воронцов,

Не правильный синтаксис возле ключевого слова "values"

это какой sql у вас?
9 апр 19, 09:50    [21856746]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
aleks222
Member

Откуда:
Сообщений: 693
kot_crowd
Павел Воронцов,

Не правильный синтаксис возле ключевого слова "values"


Неправильный синтаксис гораздо глубже - в голове. Не надо экономить на колонках таблицы.
9 апр 19, 16:17    [21857368]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
kot_crowd
Member

Откуда:
Сообщений: 8
TaPaK, Microsoft SQL Server 2005
10 апр 19, 00:58    [21857828]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
kot_crowd
Member

Откуда:
Сообщений: 8
aleks222, если вас не затруднит, поясните свой тезис пожалуйста.
10 апр 19, 00:59    [21857830]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2369
Блог
kot_crowd
aleks222, если вас не затруднит, поясните свой тезис пожалуйста.

Автор пояснил, во втором предложении. Я с ним полностью согласен.

Дальше сами пожалуйста думайте.
10 апр 19, 05:55    [21857862]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6532
kot_crowd,

разместите корни и суффиксы в отдельных атрибутах, т.к. приведите таблицу к первой нормальной форме. Реляционная алгебра работает с нормализованными данными.
10 апр 19, 12:46    [21858188]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы записей с разными корнями и суффиксами  [new]
kot_crowd
Member

Откуда:
Сообщений: 8
Владислав Колосов
kot_crowd,

разместите корни и суффиксы в отдельных атрибутах, т.к. приведите таблицу к первой нормальной форме. Реляционная алгебра работает с нормализованными данными.


Если бы я мог...

Так устроили данные создатели СУБД. Rockwell Automation. Я лишь пытаюсь "забодать", то что уже наворочено.
11 апр 19, 07:21    [21858900]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить