////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СтатьиОПУ.СтатьяОПУ КАК СтатьяОПУ,
СтатьиОПУ.Код КАК СтатьяОПУКод,
Движения.СтатьяЗатрат КАК СтатьяЗатрат,
Движения.СтатьяЗатратКод КАК СтатьяЗатратКод,
ЕСТЬNULL(Движения.СтатьяЗатратНаименование, "") КАК СтатьяЗатратНаименование,
Движения.Сумма КАК Сумма,
Движения.Компенсация КАК Компенсация,
Движения.Период КАК Период,
Движения.Проект КАК Проект
ИЗ
СтатьиОПУ КАК СтатьиОПУ
ЛЕВОЕ СОЕДИНЕНИЕ Движения КАК Движения
ПО СтатьиОПУ.СтатьяОПУ = Движения.СтатьяОПУ
УПОРЯДОЧИТЬ ПО
Период,
СтатьиОПУ.СтатьяОПУ.Код,
Движения.СтатьяЗатрат.Наименование
ИТОГИ
СУММА(Сумма),
СУММА(Компенсация)
ПО
СтатьяОПУ,
СтатьяЗатрат ИЕРАРХИЯ,
Период,
Проект
Показатьвот если так написать, то все норм.
Но если сделать вроде бы более правильно вот так
УПОРЯДОЧИТЬ ПО
Период,
СтатьяОПУКод,
СтатьяЗатратНаименование
то сортирует результат как попало буквально.
Поля 100% те же самые, это тот же код, то же наименование.
Почему так, не понял.
По теме из базы знаний
- Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах
- Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория
- Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками
- Как эффективно настроить autovacuum в Postgres для 1С
- Анализируем SQL сервер глазами 1С-ника
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9) тогда что еще бросилось в глаза:
Т.е. попытка сортировки с полями возможно имеющими значение null, так как ""....
В первом варианте такой сортировки по таким полям нет
ЕСТЬNULL(Движения.СтатьяЗатратНаименование, "") КАК СтатьяЗатратНаименование,
...
УПОРЯДОЧИТЬ ПО
... СтатьяЗатратНаименование
...
УПОРЯДОЧИТЬ ПО
... СтатьяЗатратНаименование
Т.е. попытка сортировки с полями возможно имеющими значение null, так как ""....
В первом варианте такой сортировки по таким полям нет
(2) я, наверное, плохо объяснил.
Вариантов два
1)
2)
возможно, одна из этих сортировок по ГУИД, но какая именно? на мой взгляд, они обе по коду.
Вариантов два
1)
Выбрать Справочник.Ссылка, Справочник.Код Поместить ВТ;
Выбрать ВТ.Ссылка, ВТ.Код Сортировать по Код
2)
Выбрать Справочник.Ссылка, Справочник.Код Поместить ВТ;
Выбрать ВТ.Ссылка, ВТ.Код Сортировать по ВТ.Ссылка.Код
возможно, одна из этих сортировок по ГУИД, но какая именно? на мой взгляд, они обе по коду.
(1) Повторюсь.
СтатьиОПУ.СтатьяОПУ.Код
И
СтатьиОПУ.Код
Это разве одно и тоже?
Это могут быть разные справочники даже.
Одно дело Вы берете в СтатьиОПУ код, другое дело Вы берете код в реквизите справочника СтатьиОПУ. И имя этого реквизита СтатьяОПУ.
Условно:
Статья1.Код
Статья1.КакойТоРеквизит.Код
СтатьиОПУ.СтатьяОПУ.Код
И
СтатьиОПУ.Код
Это разве одно и тоже?
Это могут быть разные справочники даже.
Одно дело Вы берете в СтатьиОПУ код, другое дело Вы берете код в реквизите справочника СтатьиОПУ. И имя этого реквизита СтатьяОПУ.
Условно:
Статья1.Код
Статья1.КакойТоРеквизит.Код
(16) я не вижу тут предмета для дискуссии, запрос я сам писал и представляю, что там откуда берется. Сортировка работает странно, да. Это просто наблюдение, я даже не хочу докапываться до глубинных причин, они где-то в недрах взаимодействия 1с со своими СУБД.
Вдруг кому-то пригодится, я убил кучку времени на это совершенно впустую.
На картинке первую часть через точку (где СтатьиОПУ.ххххх) добавляет конструктор запроса сам для своих важных целей. Ее можно убрать, она смысловой нагрузки не несет, результат тот же получается.
Вдруг кому-то пригодится, я убил кучку времени на это совершенно впустую.
На картинке первую часть через точку (где СтатьиОПУ.ххххх) добавляет конструктор запроса сам для своих важных целей. Ее можно убрать, она смысловой нагрузки не несет, результат тот же получается.
(17)
Ясный пень сортировка разная будет.
я даже не хочу
Чуви, ты тугой, правда. У тебя два разных поля сортировки. Первое, это непосредственное "СтатьиОПУ.СтатьяОПУ.Код", а второе "СтатьиОПУ.Код" - это, что обозначает твой псевдоним. Первое отдает тебе значение Код, который берет у значения реквизита СтатьяОПУ которое достается из таблицы СтатьиОПУ. Второй отдает тебе Код сразу из таблицы СтатьиОПУ.
Ясный пень сортировка разная будет.
(17)
Вы искренне удивляетесь, почему "order by t.a" и "order by t.b" дают разный результат, когда "a" и "b" это разные поля.
Ваш вопрос - это примерно как "найдите 10-ть различий". Обычный тест на внимательность.
Запрос отрабатывает абсолютно верно в обоих случаях. Как Вы пишите, так он и отрабатывает. Чудес не бывает.
я не вижу тут предмета для дискуссии...
Какая дискуссия?
Вы искренне удивляетесь, почему "order by t.a" и "order by t.b" дают разный результат, когда "a" и "b" это разные поля.
Ваш вопрос - это примерно как "найдите 10-ть различий". Обычный тест на внимательность.
Запрос отрабатывает абсолютно верно в обоих случаях. Как Вы пишите, так он и отрабатывает. Чудес не бывает.
(19)
(19)
я уже даже не удивляюсь, что люди не читают того, на что отвечают. Понял, что это в природе человека, что тут поделаешь. Но смысла повторять в пятый раз одно и то же - тоже не наблюдаю. Ну не поняли друг друга - значит, не поняли.
(19)
Вы искренне удивляетесь, почему "order by t.a" и "order by t.b" дают разный результат, когда "a" и "b" это разные поля.
я уже даже не удивляюсь, что люди не читают того, на что отвечают. Понял, что это в природе человека, что тут поделаешь. Но смысла повторять в пятый раз одно и то же - тоже не наблюдаю. Ну не поняли друг друга - значит, не поняли.
...
Да уж, ... теперь уже интересно, увидит автор или не увидит, что в первом и втором случае сортировка по разным полям? У этих полей могут быть очень разные значения кодов. И в общем случае сортировка и не должна совпадать.
Правда остается ещё вариант затянувшегося пятничного стёба, правда не понятно зачем.
Да уж, ... теперь уже интересно, увидит автор или не увидит, что в первом и втором случае сортировка по разным полям? У этих полей могут быть очень разные значения кодов. И в общем случае сортировка и не должна совпадать.
Правда остается ещё вариант затянувшегося пятничного стёба, правда не понятно зачем.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот