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

Откуда: Россия, Сыктывкар \ Болгария, Варна
Сообщений: 5
Здравствуйте.
Имеется следующий запрос, который выводит продажи и приходы за период, а так же выводи остатки на начало и конец по определенному объекту.
+
SELECT
  G.Code AS [code],
  G.Name AS [Name BG],
  G.Catalog1 AS [Name RU],
  G.Description AS [Name EN],
  GG.Name AS [Group name],
  ISNULL(OpStart.StartQtty,0) AS [Остаток на начало], 
  ISNULL(PurchaseQtty.PurQtty,0) AS [Приход (кол-во)],
  ISNULL(SaleQtty.SQtty,0) AS [Продажи (кол-во)],
  ISNULL(OpEnd.EndQtty,0) AS [Остаток на конец]
FROM (((((Goods AS G 
  LEFT JOIN GoodsGroups GG ON ABS(G.GroupID) = GG.ID)
  LEFT JOIN (
    SELECT Op1.GoodID AS GID1, 
	SUM(Op1.Qtty*Op1.Sign) AS [StartQtty] 
    FROM (Operations Op1 LEFT JOIN Objects Ob ON Op1.ObjectID = Ob.ID) 
    WHERE Op1.date <='2014-06-16' AND Ob.Name='Склад'
    GROUP BY Op1.GoodID) AS OpStart ON G.ID = OpStart.GID1) 
  LEFT JOIN (
    SELECT Op2.GoodID GID2, 
	SUM(Op2.Qtty*Op2.Sign) AS [PurQtty] 
    FROM (Operations Op2 LEFT JOIN Objects Ob ON Op2.ObjectID = Ob.ID)
    WHERE Op2.OperType=1 AND Op2.Date >='2014-06-16' AND Op2.date <='2014-06-18' AND Ob.Name='Склад'
    GROUP BY Op2.GoodID) AS PurchaseQtty ON G.ID = PurchaseQtty.GID2)
  LEFT JOIN (
    SELECT Op3.GoodID GID3, 
	SUM(Op3.Qtty) AS [SQtty]
    FROM (Operations Op3 LEFT JOIN Objects Ob ON Op3.ObjectID = Ob.ID)
    WHERE Op3.OperType=2 AND Op3.Date >='2014-06-16' AND Op3.date <='2014-06-18' AND Ob.Name='Склад'
    GROUP BY Op3.GoodID) AS SaleQtty ON G.ID = SaleQtty.GID3)
  LEFT JOIN (
    SELECT Op4.GoodID GID4, 
	SUM(Op4.Qtty*Op4.Sign) AS [EndQtty] 
    FROM (Operations Op4 LEFT JOIN Objects Ob ON Op4.ObjectID = Ob.ID)
    WHERE Op4.date <='2014-06-18'  AND Ob.Name='Склад'
    GROUP BY Op4.GoodID) AS OpEnd ON G.ID = OpEnd.GID4)
WHERE (G.ID=G.ID)
GROUP BY G.ID, G.Code, G.Name, GG.Name, GG.Code, OpStart.StartQtty, PurchaseQtty.PurQtty, SaleQtty.SQtty, OpEnd.EndQtty, G.Catalog1, G.Description
ORDER BY GG.Name


Выводит примерно следующим образом:
+
Code;Name BG;Name RU;Name EN;Group Name
2601;Чанта малка тъмно синя/морски райета;Сумка пляжная;BAG small navy blue/marine stripe;Bag;0;0;0;0
2602;Чанта малка тъмно синя/бели райета;Сумка пляжная;BAG small navy blue/white stripe;Bag;0;0;0;0
2603;Чанта малка търкоазена/морски райета;Сумка пляжная;BAG small turquoise/marine stripe;Bag;0;0;0;0
2604;Чанта малка търкоазена/бели райета;Сумка пляжная;BAG small turquoise/white stripe;Bag;0;0;0;0
2605;Чанта малка тъмно синя/големи райета;Сумка пляжная;BAG small navy blue/wide stripe;Bag;0;0;0;0
2606;Чанта малка тъмно синя;Сумка пляжная;BAG small navy blue;Bag;0;0;0;0
2701;Чанта голяма тъмно синя/морски райета;Сумка пляжная;BAG large navy blue/marine stripe;Bag;0;0;0;0
2702;Чанта голяма тъмно синя/бели райета;Сумка пляжная;BAG large navy blue/white stripe;Bag;0;0;0;0
2703;Чанта гояма търкоазена/морски райета;Сумка пляжная;BAG large turquoise/marine stripe;Bag;0;0;0;0
2704;Чанта голяма търкоазена/бели райета;Сумка пляжная;BAG large turquoise/white stripe;Bag;0;0;0;0
2705;Чанта голяма тъмно синя/големи райета;Сумка пляжная;BAG large navy blue/wide stripe;Bag;0;0;0;0
2706;Чанта голяма тъмно синя;Сумка пляжная;BAG large navy blue;Bag;0;0;0;0
4055;Плажна чанта;Сумка пляжная;BEACH BAG;Bag;0;0;0;0
60531;Чанта за плаж големи райета;Сумка пляжная;BEACH BAG wide stripes;Bag;0;0;0;0
60532;Чанта за плаж сини линий;Сумка пляжная;BEACH BAG blueline;Bag;0;0;0;0
60535;Чанта за плаж синя/двойни райета;Сумка пляжная;BEACH BAG blue/double stripe;Bag;0;0;0;0
60536;Чанта за плаж бяла/двойни райета;Сумка пляжная;BEACH BAG white/double stripe;Bag;0;0;0;0
1158B;Чанта синя/оребрена;Сумка;BAG blue/ribs;Bag;0;0;0;0
1158BR;Чанта кафява/оребрена;Сумка;BAG brown/ribs;Bag;0;0;0;0
1158DBR;Чанта тъмно кафява/оребрена;Сумка;BAG dark brown/ribs;Bag;0;0;0;0
2323B;Плажна чанта бежова;Сумка пляжная;BEACH BAG beige;Bag;0;0;0;0
2323NB;Плажна чанта морско синя;Сумка пляжная;BEACH BAG navy blue;Bag;0;0;0;0
2323SLB;Плажна чанта раирана/светло синя;Сумка пляжная;BEACH BAG stripes light blue;Bag;0;0;0;0
2323SNB;Плажна чанта раирана/морско синя;Сумка пляжная;BEACH BAG stripes/navy blue;Bag;0;0;0;0
2423NB;Плажна чанта с кожени дръжки/морско синя;Сумка пляжная;BEACH BAG with leather handles/navy blue;Bag;0;0;0;0
2423O;Плажна чанта с кожени дръжки/оранжева;Сумка пляжная;BEACH BAG with leather handles/orange;Bag;0;0;0;0
2423P;Плажна чанта с кожени дръжки/розова;Сумка пляжная;BEACH BAG with leather handles/pink;Bag;0;0;0;0
2423T;Плажна чанта с кожени дръжки/тюркоазена;Сумка пляжная;BEACH BAG with leather handles/turquoise;Bag;0;0;0;0
2424NB;Козметична чантичка/морско синя;Косметичка;COSMETIC BAG/ navy blue;Bag;0;0;0;0
2424O;Козметична чантичка/оранжева;Косметичка;COSMETIC BAG/ orange;Bag;0;0;0;0
2424P;Козметична чантичка/розова;Косметичка;COSMETIC BAG/ pink;Bag;0;0;0;0
2424T;Козметична чантичка/тюркоазена;Косметичка;COSMETIC BAG/ turquoise;Bag;0;0;0;0
2523L;Плажна чанта раирана с дръжки/лайм;Сумка пляжная;BEACH BAG STRIPES with handles/lime;Bag;0;0;0;0
2523O;Плажна чанта раирана с дръжки/оранжева;Сумка пляжная;BEACH BAG STRIPES with handles/orange;Bag;0;0;0;0
2523R;Плажна чанта раирана с дръжки/червена;Сумка пляжная;BEACH BAG STRIPES with handles/red;Bag;0;0;0;0
2523RB;Плажна чанта раирана с дръжки/кралско синя;Сумка пляжная;BEACH BAG STRIPES with handles/royal blue;Bag;0;0;0;0
2523T;Плажна чанта раирана с дръжки/тюркоазена;Сумка пляжная;BEACH BAG STRIPES with handles/turquoise;Bag;0;0;0;0
2524L;Козметична чантичка раирана/лайм;Косметичка;COSMETIC BAG STRIPES/lime;Bag;0;0;0;0
2524O;Козметична чантичка раирана/оранжева;Косметичка;COSMETIC BAG STRIPES/orange;Bag;0;0;0;0
2524R;Козметична чантичка раирана/червена;Косметичка;COSMETIC BAG STRIPES/red;Bag;0;0;0;0
2524RB;Козметична чантичка раирана/кралско синя;Косметичка;COSMETIC BAG STRIPES/royal blue;Bag;0;0;0;0
2524T;Козметична чантичка раирана/тюркоазена;Косметичка;COSMETIC BAG STRIPES/turquoise;Bag;0;0;0;0
B08-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
B08-2;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
B09-1;Кошница поднос голяма L;Корзина;BASKET tray large;Basket;0;0;0;0
B09-2;Кошница поднос средна M;Корзина;BASKET tray medium;Basket;0;0;0;0
B09-3;Кошница поднос малка S;Корзина;BASKET tray small;Basket;0;0;0;0
B104-1;Кошница кръгла с дръжка голяма L;Корзина;BASKET round lotus large;Basket;0;0;0;0
B104-2;Кошница кръгла с дръжка средна M;Корзина;BASKET round lotus medium;Basket;0;0;0;0
B104-3;Кошница кръгла с дръжка малка S;Корзина;BASKET round lotus small;Basket;0;0;0;0
B108-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
B108-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
B108-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
B155-1;Кошница за домашен любимец голяма L;Корзина для животных;PET basket large;Basket;0;0;0;0
B155-2;Кошница за домашен любимец средна M;Корзина для животных;PET basket medium;Basket;0;0;0;0
B155-3;Кошница за домашен любимец малка S;Корзина для животных;PET basket small;Basket;0;0;0;0
B186-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
B186-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
B186-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
B190-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
B190-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
B190-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H161;Кошница цилиндър с дръжки;Корзина;BASKET cylinder with handle;Basket;0;0;0;0
H162;Кошница цилиндър с една дръжка;Корзина;BASKET cylinder with fold;Basket;0;0;0;0
H17-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H17-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H17-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H178-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H178-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H178-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H21-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H21-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H21-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H228-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H228-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H228-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H230-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H230-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H230-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H231-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H231-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H231-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H232-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H232-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H232-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H234-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H234-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H234-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H236-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H236-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H236-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0
H237-1;Кошница голяма L;Корзина;BASKET large;Basket;0;0;0;0
H237-2;Кошница средна M;Корзина;BASKET medium;Basket;0;0;0;0
H237-3;Кошница малка S;Корзина;BASKET small;Basket;0;0;0;0


Проблема следующая, требуется сделать сортировку по группам, которая бы соответствовала сортировке групп в программе. Попробую пояснить на примере.

Порядок групп в программе (Основная группа - Подгруппа):
+
Bath collection;
Beach collection;Bag
Beach collection;Beach blanket
Beach collection;Beach mat
Beach collection;Pareo
Beach collection;Pillow
Beach collection;Tunic
Espadrilles;
Havaianas;Havaianas adults
Havaianas;Havaianas children
Home collection;Bag
Home collection;Bathmat
Home collection;Blankets
Home collection;Cap
Home collection;CD
Home collection;Cup
Home collection;Cushions
Home collection;Cutlery
Home collection;Glass
Home collection;Jar
Home collection;Placemat
Home collection;Purse
Home collection;Scarf
Jewelry;Bracelets
Jewelry;Key chains
Marine collection;Bag
Marine collection;Cap
Marine collection;Cover
Marine collection;Dress
Marine collection;Dress kids
Marine collection;Hair band
Marine collection;Jacket
Marine collection;Jacket kids
Marine collection;Kitchen towel
Marine collection;Polo shirt
Marine collection;Scarf
Marine collection;Shirt
Marine collection;Shirt kids
Marine collection;Shirt ladies short sleeves
Marine collection;Shirt long sleeves kids
Marine collection;Shirt long sleeves ladies
Marine collection;Shirt long sleeves men
Marine collection;Skirt
Marine collection;Slipper
Marine collection;Socks
Marine collection;Sun hat
Marine collection;Swimming suit girl
Marine collection;Swimming suit ladies
Nature collection;Basket
Nature collection;Carpet
Nature collection;Lavender
Nature collection;Sofa
Nature collection;Sponge
Nature collection;Vase
Scarves;
School collection;BOYA
School collection;Cosmetic bags
School collection;Eraser
School collection;Key chains
School collection;Magnet
School collection;Mini tape dispenser
School collection;Mousepad
School collection;Notebook
School collection;Pareo
School collection;Pencil
School collection;Pencil case
School collection;Ribbon
School collection;Ruler
School collection;Saving box
School collection;Sharpener
School collection;Umbrella
Shorts;Board shorts
Shorts;Swimming shorts
Shorts;Swimming shorts kids
Towels;
Travel collection;
T-shirts;T-shirt adults
T-shirts;T-shirt kids
T-shirts;T-shirt ladies
T-shirts;T-shirts kids
Упаковка;Нет

Порядок групп в таблице MSSQL:
+
ID;Name;Code
1;Служебна група;-1
2;Упаковка;AAA
3;School collection;AAB
4;Key chains;AABAAA
5;Nature collection;AAC
6;Vase;AACAAA
7;Home collection;AAD
8;CD;AADAAA
9;BOYA;AABAAB
10;Jewelry;AAE
11;Key chains;AAEAAA
12;Magnet;AABAAC
13;Sponge;AACAAB
14;Placemat;AADAAB
15;Marine collection;AAF
16;Bag;AAFAAA
17;Cover;AAFAAB
18;Kitchen towel;AAFAAC
19;Beach collection;AAG
20;Beach mat;AAGAAA
21;Pillow;AAGAAB
22;Beach blanket;AAGAAC
23;Towels;AAH
24;Bag;AAGAAD
25;Hair band;AAFAAD
26;T-shirts;AAI
27;T-shirts kids;AAIAAA
28;Cap;AAFAAE
29;Scarf;AAFAAF
30;Swimming suit girl;AAFAAG
31;Sun hat;AAFAAH
32;Espadrilles;AAJ
33;Socks;AAFAAI
34;Lavender;AACAAC
35;Travel collection;AAK
36;Cosmetic bags;AABAAD
37;Bracelets;AAEAAB
38;Pareo;AABAAE
39;Ribbon;AABAAF
40;Shorts;AAL
41;Board shorts;AALAAA
42;Swimming suit ladies;AAFAAJ
43;Swimming shorts;AALAAB
44;Swimming shorts kids;AALAAC
45;Cushions;AADAAC
46;Blankets;AADAAD
47;Cap;AADAAE
48;Scarf;AADAAF
49;Bag;AADAAG
50;Scarves;AAM
51;Pareo;AAGAAE
52;Tunic;AAGAAF
53;Pencil case;AABAAG
54;Ruler;AABAAH
55;Sharpener;AABAAI
56;Mini tape dispenser;AABAAJ
57;Eraser;AABAAK
58;Pencil;AABAAL
59;Saving box;AABAAM
60;Notebook;AABAAN
61;Purse;AADAAH
62;Bathmat;AADAAI
63;Jacket kids;AAFAAK
64;Glass;AADAAJ
65;Havaianas;AAN
66;Havaianas children;AANAAA
67;Havaianas adults;AANAAB
68;Dress;AAFAAL
69;Shirt;AAFAAM
70;Dress kids;AAFAAN
71;Shirt kids;AAFAAO
72;Shirt long sleeves men;AAFAAP
73;Shirt long sleeves ladies;AAFAAQ
74;Shirt long sleeves kids;AAFAAR
75;T-shirt adults;AAIAAB
76;Mousepad;AABAAO
77;Polo shirt;AAFAAS
78;T-shirt kids;AAIAAC
79;Jacket;AAFAAT
80;T-shirt ladies;AAIAAD
81;Shirt ladies short sleeves;AAFAAU
82;Skirt;AAFAAV
83;Slipper;AAFAAW
84;Cup;AADAAK
85;Umbrella;AABAAP
86;Jar;AADAAL
87;Bath collection;AAO
88;Basket;AACAAD
89;Cutlery;AADAAM
90;Carpet;AACAAE
91;Sofa;AACAAF
94;Нет;AAAAAA

Соответственно при использовании просто Order by запрос выводит группы вместе с подгруппами просто по алфавиту. Пробовал различные комбинации, но к желаемому результату не привели.

Более близкий результат вышел при сортировки таблицы группы:
SELECT Main.Name AS [MainGroup],
ISNULL(Subs.Name,'') AS [SubGroup],
ISNULL(Main.Name + '/' + Subs.Name, Main.Name) AS [Группы]
FROM 
(SELECT Name,Code FROM GoodsGroups WHERE LEN(Code)=3) Main
LEFT JOIN
(SELECT Name,Code FROM GoodsGroups WHERE LEN(Code)>3) Subs
ON Main.Code=LEFT(Subs.Code,3)
ORDER BY Main.Name,Subs.Name

Получил результат:
+
Bath collection;;Bath collection
Beach collection;Bag;Beach collection/Bag
Beach collection;Beach blanket;Beach collection/Beach blanket
Beach collection;Beach mat;Beach collection/Beach mat
Beach collection;Pareo;Beach collection/Pareo
Beach collection;Pillow;Beach collection/Pillow
Beach collection;Tunic;Beach collection/Tunic
Espadrilles;;Espadrilles
Havaianas;Havaianas adults;Havaianas/Havaianas adults
Havaianas;Havaianas children;Havaianas/Havaianas children
Home collection;Bag;Home collection/Bag
Home collection;Bathmat;Home collection/Bathmat
Home collection;Blankets;Home collection/Blankets
Home collection;Cap;Home collection/Cap
Home collection;CD;Home collection/CD
Home collection;Cup;Home collection/Cup
Home collection;Cushions;Home collection/Cushions
Home collection;Cutlery;Home collection/Cutlery
Home collection;Glass;Home collection/Glass
Home collection;Jar;Home collection/Jar
Home collection;Placemat;Home collection/Placemat
Home collection;Purse;Home collection/Purse
Home collection;Scarf;Home collection/Scarf
Jewelry;Bracelets;Jewelry/Bracelets
Jewelry;Key chains;Jewelry/Key chains
Marine collection;Bag;Marine collection/Bag
Marine collection;Cap;Marine collection/Cap
Marine collection;Cover;Marine collection/Cover
Marine collection;Dress;Marine collection/Dress
Marine collection;Dress kids;Marine collection/Dress kids
Marine collection;Hair band;Marine collection/Hair band
Marine collection;Jacket;Marine collection/Jacket
Marine collection;Jacket kids;Marine collection/Jacket kids
Marine collection;Kitchen towel;Marine collection/Kitchen towel
Marine collection;Polo shirt;Marine collection/Polo shirt
Marine collection;Scarf;Marine collection/Scarf
Marine collection;Shirt;Marine collection/Shirt
Marine collection;Shirt kids;Marine collection/Shirt kids
Marine collection;Shirt ladies short sleeves;Marine collection/Shirt ladies short sleeves
Marine collection;Shirt long sleeves kids;Marine collection/Shirt long sleeves kids
Marine collection;Shirt long sleeves ladies;Marine collection/Shirt long sleeves ladies
Marine collection;Shirt long sleeves men;Marine collection/Shirt long sleeves men
Marine collection;Skirt;Marine collection/Skirt
Marine collection;Slipper;Marine collection/Slipper
Marine collection;Socks;Marine collection/Socks
Marine collection;Sun hat;Marine collection/Sun hat
Marine collection;Swimming suit girl;Marine collection/Swimming suit girl
Marine collection;Swimming suit ladies;Marine collection/Swimming suit ladies
Nature collection;Basket;Nature collection/Basket
Nature collection;Carpet;Nature collection/Carpet
Nature collection;Lavender;Nature collection/Lavender
Nature collection;Sofa;Nature collection/Sofa
Nature collection;Sponge;Nature collection/Sponge
Nature collection;Vase;Nature collection/Vase
Scarves;;Scarves
School collection;BOYA;School collection/BOYA
School collection;Cosmetic bags;School collection/Cosmetic bags
School collection;Eraser;School collection/Eraser
School collection;Key chains;School collection/Key chains
School collection;Magnet;School collection/Magnet
School collection;Mini tape dispenser;School collection/Mini tape dispenser
School collection;Mousepad;School collection/Mousepad
School collection;Notebook;School collection/Notebook
School collection;Pareo;School collection/Pareo
School collection;Pencil;School collection/Pencil
School collection;Pencil case;School collection/Pencil case
School collection;Ribbon;School collection/Ribbon
School collection;Ruler;School collection/Ruler
School collection;Saving box;School collection/Saving box
School collection;Sharpener;School collection/Sharpener
School collection;Umbrella;School collection/Umbrella
Shorts;Board shorts;Shorts/Board shorts
Shorts;Swimming shorts;Shorts/Swimming shorts
Shorts;Swimming shorts kids;Shorts/Swimming shorts kids
Towels;;Towels
Travel collection;;Travel collection
T-shirts;T-shirt adults;T-shirts/T-shirt adults
T-shirts;T-shirt kids;T-shirts/T-shirt kids
T-shirts;T-shirt ladies;T-shirts/T-shirt ladies
T-shirts;T-shirts kids;T-shirts/T-shirts kids
Упаковка;Нет;Упаковка/Нет

Результат то, что нужно, но нельзя сделать проще. Да и этот результат не могу сообразить, как использовать в своем запросе.

Заранее спасибо за помощь, надеюсь объяснил понятно.
26 июн 14, 13:15    [16222779]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
у вас пернт - чайлд в одном поле через ; ?
Структура линейная ? Т.е если есть
Парент;Чайлд
То следующий Чайлд будет как выглядеть то ?
Парент;Чайлд;Чаилд ?
26 июн 14, 13:26    [16222867]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Dinariys
Порядок групп в таблице MSSQL:

И в вашей структуре ID, Name, Code - какое поле указывает на родителя ?
26 июн 14, 13:27    [16222887]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Dinariys
Member

Откуда: Россия, Сыктывкар \ Болгария, Варна
Сообщений: 5
Maxx
у вас пернт - чайлд в одном поле через ; ?
Структура линейная ? Т.е если есть
Парент;Чайлд
То следующий Чайлд будет как выглядеть то ?
Парент;Чайлд;Чаилд ?

Прошу прощения не много не понял вопроса.

Maxx
Dinariys
Порядок групп в таблице MSSQL:

И в вашей структуре ID, Name, Code - какое поле указывает на родителя ?

Основная группа идет, например: AAB
Подгруппа будет: AABAAA
Вторая подгруппа будет: AABAAB
26 июн 14, 13:33    [16222940]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Dinariys
Прошу прощения не много не понял вопроса.

пропускаем ,ето я напустал исходя из вашего отображения

Dinariys
Основная группа идет, например: AAB
Подгруппа будет: AABAAA
Вторая подгруппа будет: AABAAB

жесть ,кто ето проектировал ?
Каков алгоритм.. то ? Он что завязан на какую-ето постоянуую длину в названиях групп ?
А треться подгруппа как будет выглядеть ? А потомок третьей подгруппы ?
Группа : ААВ
Подруппа 1 :ААВААА
Подруппа 2 :ААВААВ
Подругппа 3 : ?
Подругппа 4 (родитель которой Подруппа 3 ) : ?
26 июн 14, 13:39    [16223000]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
чет похоже что вас подруггпы можно искать как
where code like Parent.Code +'%'
26 июн 14, 13:41    [16223016]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Dinariys
Member

Откуда: Россия, Сыктывкар \ Болгария, Варна
Сообщений: 5
Maxx
Dinariys
Прошу прощения не много не понял вопроса.

пропускаем ,ето я напустал исходя из вашего отображения

Dinariys
Основная группа идет, например: AAB
Подгруппа будет: AABAAA
Вторая подгруппа будет: AABAAB

жесть ,кто ето проектировал ?
Каков алгоритм.. то ? Он что завязан на какую-ето постоянуую длину в названиях групп ?
А треться подгруппа как будет выглядеть ? А потомок третьей подгруппы ?
Группа : ААВ
Подруппа 1 :ААВААА
Подруппа 2 :ААВААВ
Подругппа 3 : ?
Подругппа 4 (родитель которой Подруппа 3 ) : ?

Подгруппа 3 : ААBAAC
==Подгруппа 4: AABAACAAA

Какой алгоритм в программе точно сказать не могу.
Выбор группы примерно, так:
WHERE Code LIKE 'AAB%'
26 июн 14, 13:50    [16223098]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Dinariys
Какой алгоритм в программе точно сказать не могу.

а как тогда искать подругппы то ?
Dinariys
Подгруппа 3 : ААBAAC
==Подгруппа 4: AABAACAAA

Т.е название всегда из 3х символов по алфавиту (следуещего потомка)?
Т.е первый потомок подгруппы 4 - ААВААСАААААА ?
26 июн 14, 13:54    [16223138]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Dinariys
Member

Откуда: Россия, Сыктывкар \ Болгария, Варна
Сообщений: 5
Maxx
Т.е название всегда из 3х символов по алфавиту (следуещего потомка)?

Да Code группы из 3х символов по алфавиту.
Maxx
Т.е первый потомок подгруппы 4 - ААВААСАААААА ?

Все верно.
26 июн 14, 14:19    [16223369]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Как должен выглядеть результат на таком наборе (для примера)
declare @Group table (ID int,Name nvarchar(100),Code nvarchar(100))
insert into @Group
values (1 ,'Group1', 'AAB'),(2 ,'SubGroup1', 'AABAAA'),(3 ,'SubGroup2', 'AABAAB'),
 (4 ,'Group2', 'AAC'),(5 ,'SubGroup2_1', 'AACAAA'),(6 ,'SubGroup2_2', 'AACAAB')

declare @Goods table (IDGroup int ,Name nvarchar(20))
insert into @Goods
values (2, 'Socks'), (3,'Cap') , (6,'Spoon')
26 июн 14, 14:32    [16223471]     Ответить | Цитировать Сообщить модератору
 Re: Сортировка групп  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Ну и сразу всевозможные варианты
26 июн 14, 14:38    [16223505]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить