powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сложные sql запросы незнающий эту тему
4 сообщений из 4, страница 1 из 1
Сложные sql запросы незнающий эту тему
    #39926387
Neznamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совершенно не понимаю как написать sql запрос по 4 и 7
(дополнение для 4 задания: в таблице Раунды столбцы [Дата_и_время_начала_раунда] и [Продолжительность_раунда] их нужно как-то суммировать и определить входят ли они во временные рамки, и если время окончания раунда попадает в эти рамки, то строка из таблици Раунды столбца Код_раунда должна попасть в таблицу Итог столбца Код_раунда. Таблици между собой не связаны.

Microsoft SQL Server 2017 (RTM-GDR) (KB4505224) - 14.0.2027.2 (X64) Jun 15 2019 00:26:19 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Home Single Language 10.0 <X64> (Build 17763: )

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE dbo.Раунды(
	Код_раунда int  Primary key IDENTITY(1,1) NOT NULL,
	Локация nvarchar(500) NOT NULL,
	Дата_и_время_начала_раунда datetime NOT NULL,
	Продолжительность_раунда time(7) NOT NULL,
	Координаты_начала_игры_команды nvarchar(10) NULL,
	Количество_команд_в_раунде int NOT NULL,
)



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
set Identity_Insert Раунды ON
Insert into Раунды
(
Код_раунда,
Локация,
Дата_и_время_начала_раунда,
Продолжительность_раунда,
Координаты_начала_игры_команды,
Количество_команд_в_раунде
)
values
(1,'Лес','11-09-2019 22:10:43','00:10:30','15;0',2),
(2,'Болото','10-09-2019 12:10:43','00:10:30',null,2),
(3,'Горы','10-09-2019 22:10:43','00:10:30','15;0',2),
(4,'Заброшеный склад','10-09-2019 12:10:43','00:20:30',null,4),
(5,'Небеса','15-09-2019 23:10:43','00:20:30','15;0',4),
(6,'Нибиру-800','10-09-2019 12:10:43','00:20:30',null,4),
(7,'Лисьи угодья','14-09-2019 22:10:43','00:30:30','15;0',6),
(8,'Озеро','10-09-2019 12:10:43','22:30:30','15;0',6),
(9,'Виктинбург','10-09-2019 12:10:43','00:30:30',null,6),
(10,'Рунайт','13-09-2019 22:10:43','00:40:30','15;0',8)



Код: sql
1.
2.
3.
4.
5.
6.
BEGIN TRANSACTION;
SELECT  *
Into    Итоги
FROM     dbo.Итоги_раундов
WHERE  (Время_в_раунде > CONVERT(TIME, '00:30:00')) AND (Отключение_во_время_раунда = 1)
COMMIT;
...
Рейтинг: 0 / 0
Сложные sql запросы незнающий эту тему
    #39926391
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполните пункт 4 и пункт 6 .
...
Рейтинг: 0 / 0
Сложные sql запросы незнающий эту тему
    #39926398
Neznamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Neznamo,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE TABLE dbo.Итоги_раундов(
	Код_персонажа int NOT NULL,
	Код_раунда int NOT NULL,
	Код_пользователя int NOT NULL,
	Полученые_очки_опыта int NOT NULL,
	Рейтинг_в_команде int NOT NULL,
	Количество_страйков int NOT NULL,
	Время_в_раунде time(7) NOT NULL,
	Команда_победила bit NOT NULL,
	Отключение_во_время_раунда bit NOT NULL,
	)
ALTER TABLE dbo.Итоги_раундов
ADD CONSTRAINT pk_myConstraint PRIMARY KEY (Код_персонажа,Код_раунда,Код_пользователя)

ALTER TABLE dbo.Итоги_раундов  WITH CHECK ADD FOREIGN KEY(Код_раунда)
REFERENCES dbo.Раунды (Код_раунда)



Код: 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.
Insert into Итоги_раундов
(
Код_персонажа,
Код_раунда,
Код_пользователя,
Полученые_очки_опыта,
Рейтинг_в_команде,
Количество_страйков,
Время_в_раунде,
Команда_победила,
Отключение_во_время_раунда
)
values
(1001,1,10001,10,1,0,'00:10:30',1,0),
(1002,1,10002,10,1,0,'00:10:30',1,0),
(1003,1,10003,10,1,0,'00:10:30',0,0),
(1004,2,10004,10,1,1,'00:10:30',1,0),
(1005,2,10005,10,1,0,'00:10:30',1,0),
(1006,2,10006,10,1,5,'00:10:30',0,0),
(1007,3,10007,10,1,0,'00:10:30',1,0),
(1008,3,10008,10,1,3,'00:10:30',0,0),
(1009,8,10009,10,1,0,'00:40:30',1,1),
(10010,8,100010,10,1,0,'00:40:30',1,0),
(10011,10,100011,10,1,6,'00:40:30',0,1),
(10012,10,100012,10,1,0,'00:40:30',1,0)
...
Рейтинг: 0 / 0
Сложные sql запросы незнающий эту тему
    #39926471
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Neznamo,

задания надо решать самостоятельно
4)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
with x as (
    select * from [Раунды] r
    where r.[Продолжительность_раунда] > '00:30:00' 
      and exists (select 1 from [Итоги_раундов] rr where rr.[Код_раунда] = r.[Код_раунда] and rr.[отключение_во_время_раунда] > 0)
)
--insert into <кудато>
select x.[Код_раунда], [Дата_и_время_начала_раунда], [Продолжительность_раунда], dateadd(ss, (3600 * datepart(hh, [Продолжительность_раунда]) + 60 * datepart(mi, [Продолжительность_раунда]) + datepart(ss, [Продолжительность_раунда])), [Дата_и_время_начала_раунда])
from x
where cast(dateadd(ss, (3600 * datepart(hh, [Продолжительность_раунда]) + 60 * datepart(mi, [Продолжительность_раунда]) + datepart(ss, [Продолжительность_раунда])), [Дата_и_время_начала_раунда]) as time) between '22:00:00' and '23:30:00'




7)
Код: sql
1.
select [Код_раунда], sum([Количество_страйков]) as [srtikes] from [Итоги_раундов] where [Команда_победила] = 1 group by [Код_раунда]


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


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