Начало » Использование СУБД » Microsoft SQL Server » Период (Создать период от заданной даты)
|
|
Re: Период [сообщение #3523 является ответом на сообщение #3522] |
Wed, 25 October 2023 12:01 |
krioxi
Сообщений: 16 Зарегистрирован: October 2023
|
Junior Member |
|
|
select
CONVERT(VARCHAR(5), ServDate, 08) AS ServDate,
Quantity,
Additional,
Visit.OpenDate as OpenDate,
Visit.CloseDate as CloseDate,
EmployeeSet.Name as Name11,
Price
FROM
ServedSet
INNER JOIN
( SELECT
Name,
CONVERT (date, OpenDate) as OpenDate,
CONVERT (date, CloseDate) as CloseDate,
VisitsSet.Id AS VisitID,
Birth,
Clients_Category as Category
FROM
VisitsSet
JOIN ClientsSet
ON Visits_Clients = ClientsSet.Id
) AS Visit
ON ServedSet.Served_Visits = Visit.VisitID
INNER JOIN
ServicesSet
ON Served_Services = ServicesSet.Id
INNER JOIN
EmployeeSet
ON Served_Employee = EmployeeSet.Id
WHERE
IsServed in (0,1)
AND
OpenDate = @Zaezd AND
Visit.Name = (@Client)
AND
Type !='СБ'
Пример:
@Zaezd-заезд 27.08.2023 (длится 14 дней)
@Client-фио клиента
28.08,29.08,31.08,5.09,7.09 массаж
нужно чтобы отображались все дни с27.08 по 10.09
|
|
|
|
|
|
Re: Период [сообщение #3593 является ответом на сообщение #3578] |
Wed, 01 November 2023 10:58 |
BlackEric
Сообщений: 368 Зарегистрирован: June 2022
|
Senior Member |
|
|
Что не получается? Вывести даты в запросе на несколько дней вперед от переданной?
Как-то так:
use testdb
Go
IF OBJECT_ID(N'tempdb..#Accounts') IS NOT NULL
DROP TABLE #Accounts;
CREATE TABLE #Accounts ( CreatedAt DATE, Balance MONEY)
DECLARE @rate FLOAT, @period INT, @sum MONEY, @date DATE
SET @date = GETDATE()
SET @rate = 0.065;
SET @period = 10;
SET @sum = 10000;
WHILE @period > 0
BEGIN
INSERT INTO #Accounts VALUES(@date, @sum)
SET @period = @period - 1
SET @date = DATEADD(day, 1, @date)
SET @sum = @sum + @sum * @rate
END;
SELECT * FROM #Accounts
|
|
|
Переход к форуму:
Текущее время: Sun Dec 22 13:21:14 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00761 секунд
|