powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите сочинить запрос
24 сообщений из 24, страница 1 из 1
Помогите сочинить запрос
    #39100798
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть табличка:
MainOrganiszationMainInRegionCodes_IdName1078A10126A90174A70086A60078A40084A110050A100074A80078A30178A20078A5

необходимо выполнить сортировку по полю MainOrganiszation затем MainInRegion с учетом Codes_Id и по алфавиту Name чтобы в результате получилось:

MainOrganiszationMainInRegionCodes_IdName1078A10178A20078A30078A40078A50086A60174A70074A80026A90050A100084A11

никак сие не могу оформить в виде LINQ или Lambda - получается все что угодно только не нужный результат.
Буду весьма признателен за помощь...

ПыСы:
Вот последняя попытка написания кода:
Код: c#
1.
2.
3.
4.
5.
6.
.Where(c => c.Status == RecordStatus.Active)
                    .OrderBy(n => n.MainOrganiszation ? 0 : 1)
                    .ThenBy(n => n.Codes_Id)
                    .ThenBy(n => n.MainInRegion ? 0 : 1)
                    .ThenBy(n => n.Title)
                    .ToListAsync()
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100805
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunter,
Наверное по Name не сортируется толком, а примерно так:
A1
A10
A11
A2
A3
...
?
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100807
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И приведите приоретность полей для сортироки, а то каша какая-то.
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100810
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Освойте для себя .OrderByDescending, .ThenByDescending
2) Что-нить мешает до начала сортировки выяснить код Codes_Id для MainOrganiszation?
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100812
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

Я думаю, ему нужна сортировка по Codes_Id, но чтобы наверху был код главной организации
(гадание на хрустальном шаре)
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100820
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в результирующем примере обычная сортировка по Name стобцу с разбиением его на буквенную и цифровую часть
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100836
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneв результирующем примере обычная сортировка по Name стобцу с разбиением его на буквенную и цифровую частьпример не очень адекватный, пытаюсь сделать вывод из тоже недостаточно адекватного объяснения ТС
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100845
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да согласен результат не совсем удачный я привел... отбросим пока Name.
Смысл вот в чем: запись с полем MainOrganiszation = 1 всегда первая и она всегда одна. Далее у каждой записи есть пары MainInRegion и Codes_Id - они располагаются так: MainInRegion = 1 первая потом остальные. Но тут вся проблема у меня в том, что они должны быть сгруппированы по Codes_Id тоесть если у записи Ax MainInRegion = 1 и Codes_Id = 78 она первая. затем идут все с Codes_Id = 78 с сортировкой по MainInRegion.
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100849
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то вроде этого:
MainOrganiszationMainInRegionCodes_IdName1078Ыыыы0178 Зыфште0078У-у-у0078Бла-бла0078Бугага0086Абугага0174Хххх0074Др-др0026Пуг0050Fug008433слона
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100857
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunterAx MainInRegion = 1 и Codes_Id = 78 она первая. затем идут все с Codes_Id = 78 с сортировкой по MainInRegion.я задал вопрос
Shocker.Pro2) Что-нить мешает до начала сортировки выяснить код Codes_Id для MainOrganiszation?ответ будет?
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100860
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunter,
Я так и не увидел логической связи между MainInRegion и Codes_Id. И так не понял, почему первая запись в MainInRegion имеет значение 0, а не 1...
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100879
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
ничего не мешает.
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100886
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunterShocker.Pro,
ничего не мешает.тогда
Код: c#
1.
2.
3.
4.
                    .OrderBy(n => n.Codes == MainCode ? 0 : 1)
                    .ThenBy(n => n.Codes_Id)
                    .ThenByDescending(n => n.MainInRegion)
                    .ThenBy(n => n.Name)
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100887
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

связь такая: Codes_Id - код региона, MainInRegion - признак того что организация в регионе главная. В том случае если она (организация) в регионе одна (26, 50, 84) - MainInRegion значения не имеет (хоть 0 хоть 100 - без разницы)
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100903
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunter,
Не проверял...
Код: c#
1.
2.
3.
4.
5.
6.
.Where(c => c.Status == RecordStatus.Active)
                    .OrderByDescending(n => n.MainOrganiszation ? 0 : 1)
                    .ThenBy(n => n.Codes_Id)
                    .ThenByDescending(n => n.MainInRegion ? 0 : 1)
                    .ThenBy(n => n.Title)
                    .ToListAsync()
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100924
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronНе проверял...не взлетит. Коды 78 должны скопиться наверху (см. первый пример)

Чтобы это реализовать только запросами, надо джойнить таблицу саму к себе. Но проще и быстрее сначала определить код главной организации (раз это допустимо).
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100945
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

это не работает. да коды 78 действительно скопились наверху но дальше:
Codes_Id
78
78
78
78
78
26
74
86
84
50
74

74 - не сгруппировался
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100947
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proне взлетит. Коды 78 должны скопиться наверху (см. первый пример)
Да, вроде, нет там никакой сортировки по Codes_Id.
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100959
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunterShocker.Pro,
74 - не сгруппировалсяне может быть, показывай получившийся запрос.
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100962
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronДа, вроде, нет там никакой сортировки по Codes_Id.Хм. Вообще-то да... Но, с другой стороны, ТС хочет вроде как группировку по коду, при этом как должны располагаться сами группы кодов - не говорит.
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100974
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ughunter,
А так устроит?
Код: c#
1.
2.
3.
4.
            var result = list.OrderBy(n => n.Codes_Id)
                .ThenByDescending(n => n.MainOrganization)
                .ThenByDescending(n => n.MainInRegion)
                .ThenBy(n => n.Title).ToList();
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100981
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronА так устроит?ughunterзапись с полем MainOrganiszation = 1 всегда первая
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39100992
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAxeleronА так устроит?ughunterзапись с полем MainOrganiszation = 1 всегда первая
Блииин, я надеялся, что а вдруг прокатит ;)
...
Рейтинг: 0 / 0
Помогите сочинить запрос
    #39101002
ughunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProughunterShocker.Pro,
74 - не сгруппировалсяне может быть, показывай получившийся запрос.

сыплю голову пеплом! Действительно не может быть (пропустил .ThenBy(n => n.CodesId)).

Всем огромное спасибо за помощь!
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите сочинить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]