powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Деление чисел
3 сообщений из 3, страница 1 из 1
Деление чисел
    #40094034
Ablaykhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, у меня есть таблица "Лист2$".
Код: sql
1.
2.
3.
4.
5.
Create table Лист2$(
[Количество (в базовых ед#)] [float] NULL,
[АДРЕС ] [nvarchar](255) NULL
) ON [PRIMARY]
GO



Мне нужно по адресу товара найти все товары (именно те товары которые размещены по одному адресу), а именно их [Количество (в базовых ед#)] и плюсовать их все, после разделить на [Количество (в базовых ед#)]. Лучше я не мог это описать :)
В картинке видно как это делается в Excel.
Я написал такой запрос, остальные атрибуты у меня получилось вытащить но именно с этой задачей у меня сложности. Я не знаю как ее сделать. Можете пожалуйста подсказать.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT 
	*,
(([Количество (в базовых ед#)]/[Кол-во])*100)
	 as Dolya,
ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ]) 
	 as cm,
floor(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина])
	 as Face,
floor(([ГЛ#ПОЛКИ]/[глубина ])*(ceiling(([Количество (в базовых ед#)]/[Кол-во])*[ДЛ#ПОЛКИ])/[Длина])) 
	 as QuantFace,
floor([ГЛ#ПОЛКИ]/[глубина ]) 
	 as GlubinaFace,
 ([ДЛ#ПОЛКИ]*[ГЛ#ПОЛКИ])
     as [Площадъ полки,cm2],
 floor([Длина]*[глубина ])
     as [Площадь товара, см2],
 ([Количество (в базовых ед#)]/ [Количество (в базовых ед#)]) 
     as [Доля товара ед., %]
FROM Лист2$
WHERE [Длина] IS NOT NULL
...
Рейтинг: 0 / 0
Деление чисел
    #40094037
Oleg_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ablaykhan,

доля нужна?


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
declare @Лист2$ table ([АДРЕС ] varchar(100), [Количество (в базовых ед#)] money)
insert @Лист2$ values ('Moscow', 25),  ('Moscow', 15),  ('Moscow', 5),  ('Moscow', 45),  ('Sochi', 2), ('Sochi', 3), ('Sochi', 5) 

select [АДРЕС ], 
       [Количество (в базовых ед#)], 
       [Количество (в базовых ед#)] / sum([Количество (в базовых ед#)]) over(partition by [АДРЕС ]) [доля], 
       sum([Количество (в базовых ед#)]) over(partition by [АДРЕС ]) [общее кол-во по адресу]
  from @Лист2$




Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
АДРЕС                Количество (в базовых ед#) доля                  общее кол-во по адресу
-------------------- -------------------------- --------------------- ----------------------
Moscow               25,00                      0,2777                90,00
Moscow               15,00                      0,1666                90,00
Moscow               5,00                       0,0555                90,00
Moscow               45,00                      0,50                  90,00
Sochi                2,00                       0,20                  10,00
Sochi                3,00                       0,30                  10,00
Sochi                5,00                       0,50                  10,00
...
Рейтинг: 0 / 0
Деление чисел
    #40094044
Ablaykhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oleg_SQL,
Спасибо вам большое, вы мне очень помогли
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Деление чисел
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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