Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 12.12.2013
Сообщений: 60
1

Автоматизация учета в автосервисе

15.09.2015, 23:14. Показов 618. Ответов 3
Метки нет (Все метки)

В общем нужно создать 2 запроса:
1)Определить самого лучшего (приносящего наибольшую прибыль) мастера в период с N по K
2)Определить самую ненадежную деталь у машин марки N с пробегом больше K километров

Флешка учебная накрылась, всё на ней было, а SQL уже подзабыл. В общем хэлп кто чем может

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
CREATE TABLE Car
(
Model VARCHAR(50) NOT NULL PRIMARY KEY ,
Color VARCHAR(50) NOT NULL,
Moleage VARCHAR(50) NOT NULL,
GraduationYear VARCHAR(50) NOT NULL
)
 
CREATE TABLE Clients
(
MiddleName VARCHAR(50) NOT NULL PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Car VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES Car(Model)
)
 
CREATE TABLE Master
(
MiddleName VARCHAR(50) NOT NULL PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
Specialization VARCHAR(50) NOT NULL
)
 
CREATE TABLE Detal
(
Car VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES Car(Model),
NUMBER VARCHAR(50) NOT NULL,
Price VARCHAR(50) NOT NULL,
Name VARCHAR(50) NOT NULL,
)
 
CREATE TABLE Zakaz
(
DATA VARCHAR(50) NOT NULL,
UniqueNumber VARCHAR(50) NOT NULL,
Client VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES Clients(MiddleName),
Car VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES Car(Model),
Master VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES Master(MiddleName)
)
 
INSERT INTO Car
VALUES ('Chevrolet Epica', 'Red' , '100 000 - 109 999 km.', '2008'),
('Chevrolet Praim', 'Green' , '80 000 - 84 999 km.', '2011'),
('Lexus RX', 'Blue' , '65 000 - 69 999 km.', '2012'),
('Lexus KE', 'Black' , '150 000 - 159 999 km.', '2005'),
('Honda Touareg', 'White' , '25 000 - 29 999 km.', '2014'),
('Honda Sandero', 'Silver' , '30 000 - 34 999 km.', '2010'),
('Lexus Santa Fe', 'Black' , '170 000 - 179 999 km.', '2008'),
('Chevrolet Duster', 'Silver' , '180 000 - 189 999 km.', '2005'),
('Chevrolet Passat', 'Black' , '150 000 - 159 999 km.', '2008'),
('Honda Stream', 'White' , '140 000 - 149 999 km.', '2002')
 
INSERT INTO Clients
VALUES ('Kropov', 'Stepan', 'Alekseevich', 'Chevrolet Epica'), 
('Sidorkin', 'Pavel', 'Ivanovich', 'Chevrolet Praim'),
('Mahov', 'Viktor', 'Petrovich', 'Lexus RX'),
('Smirnov', 'Oleg', 'Stepanovich', 'Lexus KE'),
('Morozov', 'Dmitry', 'Olegovich', 'Honda Touareg'), 
('Mihaylov', 'Artur', 'Ivanovich', 'Honda Sandero'),
('Chernov', 'Aleksandr', 'Dritrievich', 'Lexus Santa Fe'),
('Lobanov', 'Fyodor', 'Sergeevich', 'Chevrolet Duster'),
('Maskaev', 'Pavel', 'Olegovich', 'Chevrolet Passat'),
('Osipov', 'Andrey', 'Denisovich', 'Honda Stream')
 
INSERT INTO Master
VALUES ('Grachev', 'Petr', 'Sergeevich', 'Tinsmith'),
('Petrov', 'Ivan', 'Stepanovich', 'Manipulator'),
('Ivanov', 'Michail', 'Petrovich', 'Electrician'),
('Sidorov', 'Dmitry', 'Andreevich', 'Locksmith')
 
INSERT INTO Zakaz
VALUES ('22.02.2015', 'A-1' , 'Kropov', 'Chevrolet Epica', 'Grachev'),
('30.02.2015', 'A-2' , 'Sidorkin', 'Chevrolet Praim', 'Petrov'),
('03.03.2015', 'A-3' , 'Mahov', 'Lexus RX', 'Ivanov'),
('10.03.2015', 'B-1' , 'Smirnov', 'Lexus KE', 'Sidorov'),
('15.03.2015', 'B-2' , 'Morozov', 'Honda Touareg', 'Sidorov'),
('17.03.2015', 'B-3' , 'Mihaylov', 'Honda Sandero', 'Petrov'),
('24.03.2015', 'B-4' , 'Chernov', 'Lexus Santa Fe', 'Ivanov'),
('31.03.2015', 'C-1' , 'Lobanov', 'Chevrolet Duster', 'Sidorov'),
('05.04.2015', 'C-2' , 'Maskaev', 'Chevrolet Passat', 'Sidorov'),
('09.04.2015', 'C-3' , 'Osipov', 'Honda Stream', 'Ivanov')
 
INSERT INTO Detal
VALUES ('Chevrolet Epica', 'UP-4256', '70 000 rub', 'Yamz 238'),
('Chevrolet Praim', 'JK-4612', '10 000 rub', 'Bumper Ford'),
('Lexus RX', 'NB-4897', '8 000 rub', 'Summer tires Bridgestone'),
('Lexus KE', 'GH-3256', '24 000 rub', 'Intake valve Lexus'),
('Honda Touareg', 'YC-4856', '20 000 rub', 'Carburetor Volkswagen'),
('Honda Sandero', 'VB-4786', '5 000 rub', 'Coil'),
('Lexus Santa Fe', 'UM-4896', '8 000 rub', 'Alloy wheel'),
('Chevrolet Duster', 'JM-3682', '28 000 rub', 'Motor'),
('Chevrolet Passat', 'JG-3597', '3 000 rub', 'Seats'),
('Honda Stream', 'KJ-4823', '10 000 rub', 'Block Xenon')
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2015, 23:14
Ответы с готовыми решениями:

Создать БД под программу "Автоматизация учёта неисправности техники"
Ничего не приходит в голову на счёт таблиц, связей, перечитал всё что можно. Всё что только по...

база данных учета клиентов в автосервисе
Доброго времени суток, помогите в написании простой базы данных для учета клиентов в автосервисе по...

Автоматизация учета парикмахерской
Помогите сделать Описание предметной области. Вы работаете в парикмахерской. Ваша парикмахерская...

Автоматизация складского учета
Нужно сделать отчет по остаткам. Таблицы приход и расход есть. Как это организовать??? Помогите!...

3
4 / 4 / 2
Регистрация: 01.06.2011
Сообщений: 90
16.09.2015, 09:32 2
Добавлено через 6 минут
для начала исправь тип данных поля Price

Добавлено через 7 минут
почему ты вообще для всех полей используешь varchar? как ты к примеру собрался проверять промежуток? используй для каждого поля наиболее подходящий тип(дата-DateTime, цена - float и т.д.)

Добавлено через 8 минут
ну а 1 запрос можно вытащить как то так:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT Master
FROM (SELECT Master, SUM(Price) Summa
      FROM Zakaz Z
      INNER JOIN Detal D ON D.Car = Z.Car
      WHERE Z.Data BETWEEN '01.01.2000' AND '01.01.2020'
      GROUP BY Master) A 
INNER JOIN (SELECT MAX(Summa) Summa 
            FROM (SELECT Master, SUM(Price) Summa
                  FROM Zakaz Z
                  INNER JOIN Detal D ON D.Car = Z.Car
                  WHERE Z.Data BETWEEN '01.01.2000' AND '01.01.2020'
                  GROUP BY Master) B) B
ON A.Summa = B.Summa
0
485 / 297 / 36
Регистрация: 22.06.2011
Сообщений: 929
16.09.2015, 15:30 3
Цитата Сообщение от maximusRS Посмотреть сообщение
цена - float
float для денег использовать нельзя, это не точный тип данных
0
4 / 4 / 2
Регистрация: 01.06.2011
Сообщений: 90
17.09.2015, 09:17 4
Цитата Сообщение от Ice_and_Fire Посмотреть сообщение
float для денег использовать нельзя
ну значит пусть использует numeric, основная суть то не в этом
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2015, 09:17

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Автоматизация учета ОС предприятия
Доброй ночи, форумчане! Задание по практике: необходимо автоматизировать учет ОС для предприятия,...

Автоматизация учета неисправности техники
Привет всем У Меня задание курсовой "автоматизация учета неисправности техники" помогите плиз как...

Автоматизация учета сомнительных долгов в 1с
Доброго времени суток! Сначала небольшое введение. Я студент и на диплом мне выпала тема...

Автоматизация учета договоров займа на счете 66
Народ кто этим занимался ..... где можно об этом почитать и почему этого нет в типовой конфигурации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.