Так как каждая словоформа хранится в
SQL словаре в виде отдельной записи, то по умолчанию получается такая
выбора форм существительных:
select F.name, LTRIM(RTRIM(P.str_pairs))
from sg_entry E, sg_class C, sg_form F, coord_pairs P
where E.name like 'кош%'
and C.id=E.id_class
and C.name='существительное' COLLATE Cyrillic_General_CI_AS
and F.id_entry=E.id
and P.id=F.id_dims
кошак
ЧИСЛО:ЕД ПАДЕЖ:ИМ
кошака
ЧИСЛО:ЕД ПАДЕЖ:РОД
кошаком
ЧИСЛО:ЕД ПАДЕЖ:ТВОР
кошака
ЧИСЛО:ЕД ПАДЕЖ:ВИН
кошаку
ЧИСЛО:ЕД ПАДЕЖ:ДАТ
кошаке
ЧИСЛО:ЕД ПАДЕЖ:ПРЕДЛ
кошаки
ЧИСЛО:МН ПАДЕЖ:ИМ
кошаков
ЧИСЛО:МН ПАДЕЖ:РОД
кошаками
ЧИСЛО:МН ПАДЕЖ:ТВОР
кошаков
ЧИСЛО:МН ПАДЕЖ:ВИН
кошакам
ЧИСЛО:МН ПАДЕЖ:ДАТ
кошаках
ЧИСЛО:МН ПАДЕЖ:ПРЕДЛ
кошатник
ЧИСЛО:ЕД ПАДЕЖ:ИМ
кошатника
ЧИСЛО:ЕД ПАДЕЖ:РОД
кошатником
ЧИСЛО:ЕД ПАДЕЖ:ТВОР
кошатника
ЧИСЛО:ЕД ПАДЕЖ:ВИН
кошатнику
ЧИСЛО:ЕД ПАДЕЖ:ДАТ
кошатнике
ЧИСЛО:ЕД ПАДЕЖ:ПРЕДЛ
кошатники
ЧИСЛО:МН ПАДЕЖ:ИМ
кошатников
ЧИСЛО:МН ПАДЕЖ:РОД
кошатниками
ЧИСЛО:МН ПАДЕЖ:ТВОР
кошатников
ЧИСЛО:МН ПАДЕЖ:ВИН
кошатникам
ЧИСЛО:МН ПАДЕЖ:ДАТ
кошатниках
ЧИСЛО:МН ПАДЕЖ:ПРЕДЛ
кошатница
ЧИСЛО:ЕД ПАДЕЖ:ИМ
кошатницы
ЧИСЛО:МН ПАДЕЖ:ИМ
кошатницы
ЧИСЛО:ЕД ПАДЕЖ:РОД
кошатниц
ЧИСЛО:МН ПАДЕЖ:РОД
кошатницей
ЧИСЛО:ЕД ПАДЕЖ:ТВОР
кошатницами
ЧИСЛО:МН ПАДЕЖ:ТВОР
А если захотелось странного - вывести все формы каждого существительного в одну строку?
Самое простое - сделать пользовательскую функцию, возвращающую заданную форму заданного слова.
А если создавать функции для получения заданной падежной формы нежелательно?
Тогда можно написать вот такой запросец с использованием забавного ms-specific оператора
PIVOT:
select EntryName, [ЧИСЛО:ЕД ПАДЕЖ:ИМ], [ЧИСЛО:ЕД ПАДЕЖ:ЗВАТ], [ЧИСЛО:ЕД ПАДЕЖ:ВИН], [ЧИСЛО:ЕД ПАДЕЖ:РОД],
[ЧИСЛО:ЕД ПАДЕЖ:ДАТ], [ЧИСЛО:ЕД ПАДЕЖ:ТВОР], [ЧИСЛО:ЕД ПАДЕЖ:ПРЕДЛ], [ЧИСЛО:ЕД ПАДЕЖ:МЕСТ],
[ЧИСЛО:ЕД ПАДЕЖ:ПАРТ], [ЧИСЛО:ЕД ПАДЕЖ:СЧЕТН], [ЧИСЛО:МН ПАДЕЖ:ИМ], [ЧИСЛО:МН ПАДЕЖ:ВИН],
[ЧИСЛО:МН ПАДЕЖ:РОД], [ЧИСЛО:МН ПАДЕЖ:ДАТ], [ЧИСЛО:МН ПАДЕЖ:ТВОР], [ЧИСЛО:МН ПАДЕЖ:ПРЕДЛ]
from
(
select E.name as EntryName, F.name as Form, RTRIM(LTRIM(P.str_pairs)) as Tags
from sg_entry E, sg_class C, sg_form F, coord_pairs P
where E.name like 'кош%' COLLATE Cyrillic_General_CI_AS
and C.id=E.id_class
and C.name='существительное' COLLATE Cyrillic_General_CI_AS
and F.id_entry=E.id
and P.id=F.id_dims
) as F
PIVOT
(
MAX(F.Form)
FOR F.Tags IN ( [ЧИСЛО:ЕД ПАДЕЖ:ИМ], [ЧИСЛО:ЕД ПАДЕЖ:ЗВАТ], [ЧИСЛО:ЕД ПАДЕЖ:ВИН], [ЧИСЛО:ЕД ПАДЕЖ:РОД],
[ЧИСЛО:ЕД ПАДЕЖ:ДАТ], [ЧИСЛО:ЕД ПАДЕЖ:ТВОР], [ЧИСЛО:ЕД ПАДЕЖ:ПРЕДЛ], [ЧИСЛО:ЕД ПАДЕЖ:МЕСТ],
[ЧИСЛО:ЕД ПАДЕЖ:ПАРТ], [ЧИСЛО:ЕД ПАДЕЖ:СЧЕТН], [ЧИСЛО:МН ПАДЕЖ:ИМ], [ЧИСЛО:МН ПАДЕЖ:ВИН],
[ЧИСЛО:МН ПАДЕЖ:РОД], [ЧИСЛО:МН ПАДЕЖ:ДАТ], [ЧИСЛО:МН ПАДЕЖ:ТВОР], [ЧИСЛО:МН ПАДЕЖ:ПРЕДЛ] )
) T
Результат (первый столбец - словарная форма, далее падежные формы для единственного и множественного числа):
кошак
кошак
NULL
кошака
кошака
кошаку
кошаком
кошаке
NULL
NULL
NULL
кошаки
кошаков
кошаков
кошакам
кошаками
кошаках
кошатник
кошатник
NULL
кошатника
кошатника
кошатнику
кошатником
кошатнике
NULL
NULL
NULL
кошатники
кошатников
кошатников
кошатникам
кошатниками
кошатниках
кошатница
кошатница
NULL
кошатницу
кошатницы
кошатнице
кошатницею
кошатнице
NULL
NULL
NULL
кошатницы
кошатниц
кошатниц
кошатницам
кошатницами
кошатницах
Кошелев
Кошелев
NULL
Кошелева
Кошелева
Кошелеву
Кошелевым
Кошелеве
NULL
NULL
NULL
Кошелевы
Кошелевых
Кошелевых
Кошелевым
Кошелевыми
Кошелевых
Кошелева
Кошелева
NULL
Кошелеву
Кошелевой
Кошелевой
Кошелевой
Кошелевой
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
кошелек
кошелек
NULL
кошелек
кошелька
кошельку
кошельком
кошельке
NULL
NULL
NULL
кошельки
кошельки
кошельков
кошелькам
кошельками
кошельках
кошелечек
кошелечек
NULL
кошелечек
кошелечка
кошелечку
кошелечком
кошелечке
NULL
NULL
NULL
кошелечки
кошелечки
кошелечков
кошелечкам
кошелечками
кошелечках
кошелка
кошелка
NULL
кошелку
кошелки
кошелке
кошелкою
кошелке
NULL
NULL
NULL
кошелки
кошелки
кошелок
кошелкам
кошелками
кошелках
кошелочка
кошелочка
NULL
кошелочку
кошелочки
кошелочке
кошелочкою
кошелочке
NULL
NULL
NULL
кошелочки
кошелочки
кошелочек
кошелочкам
кошелочками
кошелочках
кошель
кошель
NULL
кошель
кошеля
кошелю
кошелем
кошеле
NULL
NULL
NULL
кошели
кошели
кошелей
кошелям
кошелями
кошелях
кошениль
кошениль
NULL
кошениль
кошенили
кошенили
кошенилью
кошенили
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
кошерность
кошерность
NULL
кошерность
кошерности
кошерности
кошерностью
кошерности
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
кошечка
кошечка
NULL
кошечку
кошечки
кошечке
кошечкою
кошечке
NULL
NULL
NULL
кошечки
кошечек
кошечек
кошечкам
кошечками
кошечках
Кошечкин
Кошечкин
NULL
Кошечкина
Кошечкина
Кошечкину
Кошечкиным
Кошечкине
NULL
NULL
NULL
Кошечкины
Кошечкиных
Кошечкиных
Кошечкиным
Кошечкиными
Кошечкиных
Кошечкина
Кошечкина
NULL
Кошечкину
Кошечкиной
Кошечкиной
Кошечкиной
Кошечкиной
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
кошка
кошка
NULL
кошку
кошки
кошке
кошкою
кошке
NULL
NULL
NULL
кошки
кошек
кошек
кошкам
кошками
кошках
Кошков
Кошков
NULL
Кошкова
Кошкова
Кошкову
Кошковым
Кошкове
NULL
NULL
NULL
Кошковы
Кошковых
Кошковых
Кошковым
Кошковыми
Кошковых
Кошкова
Кошкова
NULL
Кошкову
Кошковой
Кошковой
Кошковой
Кошковой
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
кошмар
кошмар
NULL
кошмар
кошмара
кошмару
кошмаром
кошмаре
NULL
NULL
NULL
кошмары
кошмары
кошмаров
кошмарам
кошмарами
кошмарах
кошмарик
кошмарик
NULL
кошмарик
кошмарика
кошмарику
кошмариком
кошмарике
NULL
NULL
NULL
кошмарики
кошмарики
кошмариков
кошмарикам
кошмариками
кошмариках
кошмарность
кошмарность
NULL
кошмарность
кошмарности
кошмарности
кошмарностью
кошмарности
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Кошурников
Кошурников
NULL
Кошурникова
Кошурникова
Кошурникову
Кошурниковым
Кошурникове
NULL
NULL
NULL
Кошурниковы
Кошурниковых
Кошурниковых
Кошурниковым
Кошурниковыми
Кошурниковых
Кошурникова
Кошурникова
NULL
Кошурникову
Кошурниковой
Кошурниковой
Кошурниковой
Кошурниковой
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL