powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Заполнить столбец результирующей выдачи одинаковыми значениями
8 сообщений из 8, страница 1 из 1
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110048
maxxie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы (на самом деле не таблицы, а подзапросы с вычислениями):
- таблица1 содержит поля - дата, приход товара (количество), владелец товара
- таблица2 содержит поля - дата, расход товара (количество, владелец товара.

Вывожу данные из них такие:
- дата движения товара (+/-), приход, расход, владелец
То есть по сути табличка, показывающая, сколько товара по выбранному владельцу пришло, сколько ушло каждый день. Вывод
начиная с 1 числа текущего месяца и до сегодняшнего числа. То есть запрос должен вывести за ноябрь:
ДатаПриходРасходВладелец2021-11-0100NULL2021-11-02220Владелец2021-11-03025Владелец2021-11-0400NULL2021-11-0500NULL2021-11-0600NULL2021-11-0700NULL2021-11-08027Владелец
Я подцепил дополнительно таблицу с датами, чтобы вывод результатов был даже по тем дням, когда не было движения товара (то есть нет записей в таблице1 и таблице2). Но как видно из примера выше - в те дни, когда движения не было, я не могу выводить также и название владельца. Изначально сделал без пустых дней, но начальство хочет, чтобы пустые дни тоже в отчёте фигурировали. В этом случае не знаю, как вставить в поля название владельца. Если в таком виде в jrxml вставлять, то отчёт формируется с null вместо имени владельца (имя владельца указываю в заголовке). Проблема, сам нагуглить решения не смог, решил обратиться за помощью к гуру sqlьного дела. :) Отдельной проблемой стоит первое число каждого месяца. Тут похоже даже функция LAG не поможет...
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110049
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxxie,

"по выбранному владельцу" - вот и показывайте "выбранного владельца".
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110050
maxxie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Владелец подставляется параметром отчёта автоматически. Клиент (и начальство) получает на почту просто файлик с таблицей. А айди владельца вставляется внутри нескольких подзапросов, я его оттуда не вытяну (иначе вычисления поломаются).

Извиняюсь, название темы так и не смог придумать как оформить, в итоге забыть его исправить, получилась глупость. :)
Хотелось бы назвать тему как "Заполнить столбец результирующей выдачи одинаковыми значениями". Но время на редактирование сообщения уже вышло. :(
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110054
maxxie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините за беспокойство, сам таки допёр. :) Подцепил кросс джоином таблицу владельцев, приравнял там айди владельца той же переменной, которая использовалась внутри подзапросов, и вывел имя владельца. Заполнились все строчки. :)
"Извините, товарищи, был взволнован!" (с)
Прошу простить чайника, я ещё только учусь. :)
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110075
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxxie
Я подцепил дополнительно таблицу с датами, чтобы вывод результатов был даже по тем дням, когда не было движения товара (то есть нет записей в таблице1 и таблице2). Но как видно из примера выше - в те дни, когда движения не было, я не могу выводить также и название владельца.
Код: sql
1.
max([Владелец]) over() as [Владелец]
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110076
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxxie
приравнял там айди владельца той же переменной
А, ну про этот вариант сразу вам написали...
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110088
maxxie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
maxxie
приравнял там айди владельца той же переменной
А, ну про этот вариант сразу вам написали...

Спасибо за решение - оно интересное, но в моём случае к сожалению неподходящее. Если, например, первого числа не будет движения товара (нули в приходе и расходе), то неоткуда будет взяться названию владельца - первое и единственное значение будет NULL (я проверил).
...
Рейтинг: 0 / 0
Заполнить столбец результирующей выдачи одинаковыми значениями
    #40110135
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxxie
alexeyvg
пропущено...
А, ну про этот вариант сразу вам написали...

Спасибо за решение - оно интересное, но в моём случае к сожалению неподходящее. Если, например, первого числа не будет движения товара (нули в приходе и расходе), то неоткуда будет взяться названию владельца - первое и единственное значение будет NULL (я проверил).
Если за весь период будет хоть одна запись с владельцем, отличным от NULL, то max([Владелец]) over() покажет этого владельца.

Понятно, если NULL - единственное значение, то такой подход не пригоден.
Он допустим как затычка для построения отчётов, как нормальное решение не очень.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Заполнить столбец результирующей выдачи одинаковыми значениями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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