Создание и другие действия с таблицами в SQL Managrment Studio
nickola6
Знаток
(265),
на голосовании
3 года назад
Прошу помочь доделать код в sql ms по этим пунктам (основной код написан ниже): 1. Выбрать все легендарные предметы с возможностью продажи, приобретенные в летний период текущего года. 2. Выбрать все предметы стоимостью от 300 до 1000 рублей, ни разу не приобретавшиеся пользователями. 3. Создать таблицу, содержащую данные первого запроса с указанием информации из инвентаря. 4. Добавить в созданную таблицу предметы с названиями, состоящими из нескольких слов, начинающихся на одинаковые буквы. 5. В созданной таблице поменять плюсы к силе и здоровью для всех активных предметов. 6. Удалить из созданной таблицы все предметы, стоимость которых не кратна 50 рублям. 7. Посчитать средний плюс от активных предметов для каждого персонажа каждого пользователя.
*ОСНОВНОЙ КОД: Create table Предметы_1 ( Код_предмета int Primary key, Название nchar(255) not null, Характеристика nchar(255) not null, Вид nchar(255) not null, Редкость nchar(255) not null, Стоимость numeric(10, 2) not null, Возможность_обмена bit not null, Возможность_продажи bit not null )
Insert into Предметы_1 ( Код_предмета, Название, Характеристика, Вид, Редкость, Стоимость, Возможность_обмена, Возможность_продажи) values (100,'Золотая сковорода','Позолачивает все вокруг','Эксклюзивное оружие','Легендарный',5000,1,1), (101,'Топор','Накладывает эффект кровотечения','Холодное оружие','Обычный',1300,1,1), (102,'Арбалет','Бесшумный выстрел','Эксклюзивное оружие','Обычный',1500,0,0), (103,'СВД','Повышенная точность','Огнестрельное оружие','Редкий',2000,0,1), (104,'Экзоскелет','Повышенная защита','Броня','Эпический',7000,0,1), (105,'Аномальная кожанка','Повышенное здоровье','Броня','Эпический',1250,0,1), (106,'AWM','Повышенный урон','Огнестрельное оружие','Легендарный',6500,0,1), (107,'РПК-74','Повышенная точность при стрельбе с сошек','Огнестрельное оружие','Редкий',1400,1,1), (108,'АК-47','Повышенная убойность','Огнестрельное оружие','Легендарный',2700,1,1), (109,'Нож-бабочка','Бесшумное убийство','Холодное оружие','Эпический',500,1,1)
Create table Инвентарь_1 ( Код_персонажа int , Код_пользователя int not null, Код_предмета int not null, Дата_и_время_приобретения datetime not null, Активный_предмет bit not null, Плюс_к_силе int null, Плюс_к_броне int null, Плюс_к_здоровью int null Primary key (Код_персонажа, Код_пользователя, Код_предмета) Foreign key (Код_предмета) references Предметы_1 (Код_предмета) )
*Если нужно, то вот пункты, по которым писал основной код:
Предметы_1 (код предмета, название, характеристика, вид предмета, редкость предмета, стоимость предмета, возможность обмена, возможность продажи) Инвентарь_1 (код персонажа, код пользователя, код предмета, дата и время приобретения, активный предмет, плюс к силе, плюс к броне, плюс к здоровью)
1. Выбрать все легендарные предметы с возможностью продажи, приобретенные в
летний период текущего года.
2. Выбрать все предметы стоимостью от 300 до 1000 рублей, ни разу не приобретавшиеся
пользователями.
3. Создать таблицу, содержащую данные первого запроса с указанием информации из
инвентаря.
4. Добавить в созданную таблицу предметы с названиями, состоящими из нескольких
слов, начинающихся на одинаковые буквы.
5. В созданной таблице поменять плюсы к силе и здоровью для всех активных предметов.
6. Удалить из созданной таблицы все предметы, стоимость которых не кратна 50 рублям.
7. Посчитать средний плюс от активных предметов для каждого персонажа каждого
пользователя.
*ОСНОВНОЙ КОД:
Create table Предметы_1
(
Код_предмета int Primary key,
Название nchar(255) not null,
Характеристика nchar(255) not null,
Вид nchar(255) not null,
Редкость nchar(255) not null,
Стоимость numeric(10, 2) not null,
Возможность_обмена bit not null,
Возможность_продажи bit not null
)
Insert into Предметы_1
(
Код_предмета,
Название,
Характеристика,
Вид,
Редкость,
Стоимость,
Возможность_обмена,
Возможность_продажи)
values
(100,'Золотая сковорода','Позолачивает все вокруг','Эксклюзивное оружие','Легендарный',5000,1,1),
(101,'Топор','Накладывает эффект кровотечения','Холодное оружие','Обычный',1300,1,1),
(102,'Арбалет','Бесшумный выстрел','Эксклюзивное оружие','Обычный',1500,0,0),
(103,'СВД','Повышенная точность','Огнестрельное оружие','Редкий',2000,0,1),
(104,'Экзоскелет','Повышенная защита','Броня','Эпический',7000,0,1),
(105,'Аномальная кожанка','Повышенное здоровье','Броня','Эпический',1250,0,1),
(106,'AWM','Повышенный урон','Огнестрельное оружие','Легендарный',6500,0,1),
(107,'РПК-74','Повышенная точность при стрельбе с сошек','Огнестрельное оружие','Редкий',1400,1,1),
(108,'АК-47','Повышенная убойность','Огнестрельное оружие','Легендарный',2700,1,1),
(109,'Нож-бабочка','Бесшумное убийство','Холодное оружие','Эпический',500,1,1)
Create table Инвентарь_1
(
Код_персонажа int ,
Код_пользователя int not null,
Код_предмета int not null,
Дата_и_время_приобретения datetime not null,
Активный_предмет bit not null,
Плюс_к_силе int null,
Плюс_к_броне int null,
Плюс_к_здоровью int null
Primary key (Код_персонажа, Код_пользователя, Код_предмета)
Foreign key (Код_предмета) references Предметы_1 (Код_предмета)
)
Insert into Инвентарь_1
(
Код_персонажа,
Код_пользователя,
Код_предмета,
Дата_и_время_приобретения,
Активный_предмет,
Плюс_к_силе,
Плюс_к_броне,
Плюс_к_здоровью)
values
(0,10,100,'2003-10-03T22:33:33',1,50,20,0),
(1,11,101,'2006-11-25T22:33:33',1,40,0,0),
(2,12,102,'2004-05-22T22:33:33',1,15,0,0),
(3,13,103,'2004-07-10T22:33:33',1,30,0,0),
(4,14,104,'2003-03-08T22:33:33',1,60,0,0),
(5,15,105,'2004-06-18T22:33:33',0,0,20,40),
(6,16,106,'2006-07-01T22:33:33',1,100,0,0),
(7,17,107,'2007-09-04T22:33:33',1,20,0,0),
(8,18,108,'2005-05-04T22:33:33',0,0,60,0),
(9,19,109,'2005-03-09T22:33:33',1,20,0,0)
*Если нужно, то вот пункты, по которым писал основной код:
Предметы_1 (код предмета, название, характеристика, вид предмета, редкость предмета,
стоимость предмета, возможность обмена, возможность продажи)
Инвентарь_1 (код персонажа, код пользователя, код предмета, дата и время приобретения,
активный предмет, плюс к силе, плюс к броне, плюс к здоровью)
Спасибо большое! Могу отблагодарить на карту :)