Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Трехуровневая сортировка


Автор: thomas 20.3.2008, 18:04
Приветстсвую всех.
Подскажите студенту как грамотно реализовать сортировку в следующем случае.
Имеется четыре связанные таблицы.
Groep
groepId
groepNaam

Categorie
categorieId
categorieNaam
groepId

Subcategorie
subCategorieId
subCategorieNaam
categorieId

Artikel
artikelId
artikelNaam
subCategorieId

Так вот мне надо выдать пользователю список товаров отсортированный по группам, категориям в них и соответственно по субкатегориям в категориях.
Плюс с каждой субкатегории товары сортируются по наименованию.
И отобрзить это в dataGriedView. Типа
товары первой группы первой категории первой субкатегории
   товар А
   товар Б
   товар В
   . . .
товары первой группы первой категории второй субкатегории
   товар А
   товар Б
   товар В
   . . .
товары первой группы первой категории третьей субкатегории
товары первой группы второй категории первой субкатегории
товары первой группы второй категории второй субкатегории
товары первой группы второй категории третьей субкатегории
товары первой группы третьей категории первой субкатегории
товары второй гпуппы первой категории первой субкатегории
и т.д. и т.п.

Кто бы мне подсказал как написать хитрый запросик к БД?

Заранее спасибо.


Автор: Itsys 20.3.2008, 18:11
Ну как как ORDER BY Первая сортировка, Вторая сортировка, Третья сортировка

Автор: thomas 20.3.2008, 18:37
Да уж ... , а ларчик просто открывался.
Код

SELECT     TOP (100) PERCENT dbo.tblArtikel.ArtikelNaam, dbo.tblArtikel.Omschrijving
FROM         dbo.tblGroep INNER JOIN
                  dbo.tblCategorie ON dbo.tblGroep.GroepId = dbo.tblCategorie.GroepId INNER JOIN
                  dbo.tblSubCategorie ON dbo.tblCategorie.CategorieId = dbo.tblSubCategorie.CategorieId INNER JOIN
                  dbo.tblArtikel ON dbo.tblSubCategorie.SubCategorieId = dbo.tblArtikel.SubCategorieId
ORDER BY 
        dbo.tblGroep.GroepNaam, 
        dbo.tblCategorie.CategorieNaam, 
        dbo.tblSubCategorie.SubCAtegorieNaam, 
        dbo.tblArtikel.ArtikelNaam


ЗЫ теперь осталось все это реализовать в настраиваемом классе  smile , который я использую вместо ДатаСет.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)