powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / умножение,разделение,округление
5 сообщений из 5, страница 1 из 1
умножение,разделение,округление
    #40088081
Ablaykhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, мне поступила задача умножение, разделение, округление.
У меня есть таблица [dbo].[Лист1$]
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE [dbo].[Лист1$](
	
	[Наменклатура] [nvarchar](255) NULL,
	[Код (Номенклатура)] [float] NULL,
	[Количество (в базовых ед#)] [float] NULL,
	[Себестоимость (упр#)] [float] NULL,
	[ДЛ#ПОЛКИ] [float] NULL,
	[Длина] [float] NULL
) ON [PRIMARY]
GO


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
       [Наменклатура]
      ,[Код (Номенклатура)]
      ,[Количество (в базовых ед#)]
      ,[Себестоимость (упр#)]
      ,ДЛ.ПОЛКИ
      ,Длина
FROM [dbo].[Лист1$]



Теперь я должен был разделить "[Количество (в базовых ед#)]" на "[Себестоимость (упр#)]" и вывести рядом столбец "Dolya"
Код: sql
1.
SELECT *,([Количество (в базовых ед#)]/[Себестоимость (упр#)]) as dolya FROM [dbo].[Лист1$]



После я должен был "Dolya" умножить на "ДЛ.ПОЛКИ" и вывести рядом столбец "CM"
После этого надо умножить "CM" на "Длина" и округлить значение которое вышло, вывести рядом столбец "Face"
На выходе должно получиться:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Select
  [Наменклатура]
 ,[Код (Номенклатура)]
 ,[Количество (в базовых ед#)]
 ,[Себестоимость (упр#)]
 ,ДЛ.ПОЛКИ
 ,Длина
 ,Dolya
 ,CM
  Face 
FROM [dbo].[Лист1$]  
...
Рейтинг: 0 / 0
умножение,разделение,округление
    #40088124
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ablaykhan
Теперь я должен


Вы ждете слов приободрения?
...
Рейтинг: 0 / 0
умножение,разделение,округление
    #40088125
Ablaykhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex,
ваххахахах, нет как это можно реализовать?

Я написал но кажется это самый тупой способ
Код: sql
1.
2.
SELECT *,([Количество (в базовых ед#)]/[Себестоимость (упр#)]) as Dolya,(([Количество (в базовых ед#)]/[Себестоимость (упр#)])*[ДЛ#ПОЛКИ]) as cm,
((([Количество (в базовых ед#)]/[Себестоимость (упр#)])*[ДЛ#ПОЛКИ])/д)as face  FROM [dbo].[Лист1$]
...
Рейтинг: 0 / 0
умножение,разделение,округление
    #40088127
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ablaykhan,

подзапросы

Код: sql
1.
2.
3.
4.
5.
6.
7.
select
  f1/s
  , f2/s
from (
  select f1, f2, f1+f2 as s 
  from ...
) a




cte

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
; with a as (
  select f1, f2, f1+f2 as s 
  from ...
)
select 
  f1/s
  , f2/s
from a
...
Рейтинг: 0 / 0
умножение,разделение,округление
    #40088128
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ablaykhan,

работает? выдает корректный результат? время работы устраивает?
в чем у вас претензии к вашему решению? в отсутствии логарифмов, рекурсий и каких либо еще "фишечек"?
если вам надо избавиться от повторяющихся операций в селекте для большей читабельности, оберните их в подзапрос.

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


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