Продаж комплектуючих до ПК До якого виготовлювача була найбільша кільк

  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
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
Продаж комплектуючих до ПК
1.До якого виготовлювача була найбільша кількість рекламацій
2.Визначити кількість комплектуючих, що були реалізований за ціною > N
3.Надати список виготовлювачів, що не мали рекламацій (у алфавітному порядку)
4.Чи були рекламації на виріб «Назва виробу» на дату “ Дата ”
5.Визначити суму виручки від продаж з ” Дата сплати1 ” до ” Дата сплати2 ”
6.Якщо зникає фірма виготовлювач треба у довіднику комплектуючих значення поля “ Код фірми виготовлювача” для цієї фірми замінити на невизначене.
--
-- Database: `univ`
--
-- --------------------------------------------------------
--
-- Table structure for table `Accessories`
--
CREATE TABLE IF NOT EXISTS `Accessories` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(45) NOT NULL,
`id_company` int(10) NOT NULL,
`cost` float NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Dumping data for table `Accessories`
--
INSERT INTO `Accessories` (`id`, `name`, `id_company`, `cost`) VALUES
(1, 'ASUS MotherBoard', 5, 130),
(2, 'Intel Core2Duo E8500', 4, 295),
(3, 'AMD 64 5600 (3.3)', 1, 160),
(4, 'Notebook 15.4" (T2340 2.2)', 3, 900);
-- --------------------------------------------------------
--
-- Table structure for table `Claims`
--
CREATE TABLE IF NOT EXISTS `Claims` (
`date_claim` date NOT NULL,
`id_acc` int(10) NOT NULL,
`count_acc` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Рекламации';
--
-- Dumping data for table `Claims`
--
INSERT INTO `Claims` (`date_claim`, `id_acc`, `count_acc`) VALUES
('2009-01-05', 2, 30),
('2009-01-04', 4, 10),
('2009-01-01', 4, 20);
-- --------------------------------------------------------
--
-- Table structure for table `Manufacturers`
--
CREATE TABLE IF NOT EXISTS `Manufacturers` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(45) NOT NULL,
`country` varchar(12) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Изготовители' AUTO_INCREMENT=6 ;
--
-- Dumping data for table `Manufacturers`
--
INSERT INTO `Manufacturers` (`id`, `name`, `country`) VALUES
(1, 'AMD', 'CN'),
(2, 'IBM', 'USA'),
(3, 'Lenovo', 'UA'),
(4, 'Intel', 'USA'),
(5, 'ASUS', 'USA');
-- --------------------------------------------------------
--
-- Table structure for table `Sales`
--
CREATE TABLE IF NOT EXISTS `Sales` (
`id` int(10) NOT NULL,
`date_sales` date NOT NULL,
`id_acc` int(10) NOT NULL,
`count_acc` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Продажа';
--
-- Dumping data for table `Sales`
--
INSERT INTO `Sales` (`id`, `date_sales`, `id_acc`, `count_acc`) VALUES
(0, '2009-01-23', 1, 100),
(2, '2009-01-12', 4, 50);
--- -------------------------------------------------------------
1.
SELECT a.name, MAX(c.count_acc) as count
FROM Claims AS c, Accessories AS a
WHERE a.id = c.id_acc
2.
SELECT COUNT(a.id) as count FROM Accessories as a WHERE a.cost > 200
3.
SELECT m.name FROM Manufacturers as m
LEFT JOIN Accessories as a ON a.id_company = m.id
LEFT JOIN Claims as c ON c.id_acc = a.id
WHERE a.id <> ALL(SELECT c.id_acc FROM Claims as c)
4.
SELECT a.name, c.date_claim
FROM Claims AS c
LEFT JOIN Accessories AS a ON a.id_company = c.id_acc
WHERE c.date_claim = '2009-01-01'
AND a.name LIKE '%E8500%'
5.
SELECT a.name, s.count_acc as count, a.cost*s.count_acc as price FROM Accessories as a
INNER JOIN Sales as s ON a.id = s.id_acc
6.