Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сумма за период  [new]
ansis
Member

Откуда:
Сообщений: 3
Подскажите пожалуйста как можно подсчитать сумму за период?
во входные параметры хранимой процедуры передаюстся начало и конец периода проживания в отеле, а в таблице хранится стоимость одного дня проживания, эти стоимости разные, в зависимости от календарного периода. То есть например в таблице за июль за сутки проживания хрнаиться одна стоимость, а за август другая, и например постоялец прожил с 25 июля по 15 августа. Как нужно составить хранимую процедуру, чтобы она корректно выдавала счёт за период проживания постояльца?
30 ноя 09, 19:13    [7998709]     Ответить | Цитировать Сообщить модератору
 Re: сумма за период  [new]
iiyama
Member

Откуда:
Сообщений: 642
declare @price table(month_id int, total money)
insert into @price 
select 1,100 union all select 2,100 union all select 3,100 union all select 4,100 union all select 5,100
union all select 6,100 union all select 7,100 union all select 8,200 union all select 9,150 union all
select 10,100 union all select 11,100 union all select 12,100
---------------
declare @date_in datetime, @date_out datetime
select @date_in = '25.7.2009', @date_out = '10.8.2009'
---------------

;with Days(RoomDay, RoomMonth, RoomYear) AS
(
select dateadd(dd, number,@date_in), datepart(mm, dateadd(dd, number,@date_in)), datepart(yy, dateadd(dd, number,@date_in))
from master.dbo.spt_values where type='P' and  number <datediff(dd,@date_in, @date_out)
)
select sum(total)
from Days D inner join @price P on D.RoomMonth = P.month_id  
30 ноя 09, 19:34    [7998748]     Ответить | Цитировать Сообщить модератору
 Re: сумма за период  [new]
ansis
Member

Откуда:
Сообщений: 3
iiyama, объясните пожалуйста поподробнее, недавно начал изучать SQL
для конкретности подробнее опишу параметры
Параметры ханимой процедуры: @datebegin date, @dateend date, @apartamentid int, @summa money output
в таблице ApartamentPrice хранятся поля ApartamentID ,Price, PeriodBegin ,PeriodEnd
В этой процедуре мне нужно подсчитать стоимость и присвоить её переменной @summa.
при услови того что @apartamentid=ApartamentID
если не трудно лучше напишите сразу в виде готовой хранимой процедуры с данными параметрами
30 ноя 09, 20:24    [7998836]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить