Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.10.2017
Сообщений: 22

Оконные функции MS SQL 2008

16.04.2021, 19:55. Показов 995. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите, как подправить. Глаз уже замылился, не могу понять. У меня выводит водителей каждое число месяца, а надо, чтобы каждого водителя вывело один раз и сумму по месяцам считало за все дни, а не за каждый отдельно. Не могу понять, как это реализовать.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
WITH Table1 AS
(
    SELECT [Водитель].[ФИО водителя] AS [Водитель], 
    Datename (MONTH, [Дата выполнения заказа]) AS Месяц,
    CAST(Datename(MONTH, [Дата выполнения заказа]) AS VARCHAR) + '%' AS Процент,
    CAST(SUM([Сумма заказа]) OVER(partition BY [Дата выполнения заказа], [Водитель].[ФИО водителя] ) AS VARCHAR) + ' р' AS [Выручка за месяц],
    CAST(ROUND(CAST(SUM([Сумма заказа]) OVER(partition BY [Дата выполнения заказа], [Водитель].[ФИО водителя]) AS REAL)/
    CAST(SUM([Сумма заказа]) OVER(partition BY [Дата выполнения заказа]) AS REAL), 2) * 100 AS VARCHAR) + '%' AS [Процент выручки]
    FROM [Водитель]
    INNER JOIN [Рабочая смена] ON [Рабочая смена].[ФИО водителя] = [Водитель].[ФИО водителя]
    INNER JOIN [Принятый к исполнению заказ] ON [Принятый к исполнению заказ].[Идентификатор рабочей смены] = [Рабочая смена].[Идентификатор рабочей смены]
)    
SELECT DISTINCT([Водитель]) AS [Водитель/месяц],
ISNULL([Январь], 0) AS 'Январь',
ISNULL([Январь%], 0) AS 'Я%',
ISNULL([Февраль], 0) AS 'Февраль',
ISNULL([Февраль%], 0) AS 'Ф%',
ISNULL([Март], 0) AS 'Март',
ISNULL([Март%], 0) AS 'М%',
ISNULL([Апрель], 0) AS 'Апрель',
ISNULL([Апрель%], 0) AS 'А%',
ISNULL([Май], 0) AS 'Май',
ISNULL([Май%], 0) AS 'Ма%',
ISNULL([Июнь], 0) AS 'Июнь',
ISNULL([Июнь%], 0) AS 'Июн%',
ISNULL([Июль], 0) AS 'Июль',
ISNULL([Июль%], 0) AS 'Июл%',
ISNULL([Август], 0) AS 'Август',
ISNULL([Август%], 0) AS 'Ав%',
ISNULL([Сентябрь], 0) AS 'Сентябрь',
ISNULL([Сентябрь%], 0) AS 'С%',
ISNULL([Октябрь], 0) AS 'Октябрь',
ISNULL([Октябрь%], 0) AS 'О%',
ISNULL([Ноябрь], 0) AS 'Ноябрь',
ISNULL([Ноябрь%], 0) AS 'Н%',
ISNULL([Декабрь], 0) AS 'Декабрь',
ISNULL([Декабрь%], 0) AS 'Д%'
FROM Table1
pivot(MAX([Выручка за месяц]) FOR [Месяц] IN ([Январь],[Февраль],[Март],[Апрель],[Май],[Июнь],[Июль],[Август],[Сентябрь],[Октябрь],[Ноябрь],[Декабрь])) AS PivotTable1
pivot(MAX([Процент выручки]) FOR [Процент] IN ([Январь%],[Февраль%],[Март%],[Апрель%],[Май%],[Июнь%],[Июль%],[Август%],[Сентябрь%],[Октябрь%],[Ноябрь%],[Декабрь%])) AS PivotTable2
Миниатюры
Оконные функции MS SQL 2008  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2021, 19:55
Ответы с готовыми решениями:

MS Sql Server 2008 оконные функции и PIVOT
Приветствую. Подскажите, как можно реализовать запрос. Входная информация: Необходимо использовать PIVOT и оконные функции ...

Куплю книгу "Высокопроизводительный код T-SQL. Оконные функции, Ицик Бен-Ган"
Кто может продать книгу "Microsoft SQL Server 2012. Высокопроизводительный код T-SQL. Оконные функции, Ицик Бен-Ган"? В магазинах не...

(SQL 2008) Как использовать результат функции в другой функции (в контексте сравнения)?
Есть функция от 2-х параметров (id измерения и месяц числом), которая считает среднее значение в зависимости от параметров: create...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2021, 19:55
Помогаю со студенческими работами здесь

Отличие VS 2008 от VS 2008 в SQL Server 2008
Здравствуйте только начал изучать SQL! До этого работал в Visual Studio 2008(с++) и установил SQL Server 2008 В него входит пакет...

Нужна помошь в подключении SQL Server 2008 и Visual Studio 2008
Добрый день уважаемые форумчане... Мне нужна ВАША помощь... Я искал в инете кучу информации о подключении удаленного доступа.. Но там...

Visual Studio 2008+ MS SQL Server 2008 добавления записей
Доброго времени суток господа! У меня возникла такая проблема : ключевое поле в таблице у меня индексированное с автоматическим приращением...

установка SQL Sever 2008, ошибка из-за Visual Studio 2008
добрый день, решила с акцесса табличную часть установить на SQL Server 2008, у меня стоит Microsoft Visual Studio 2008. Устанавливаю...

OC Window Server 2008(64)+1CV81 Сервер(64)+SQL 2008 (EXPRESS)
Все ставил по умолчанию т.е. на C:\ Установил 1СV81 платформу - полет нормальный Установил 1СV81 сервер – полет нормальный Установил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru