· 8 years ago · Dec 02, 2017, 03:18 PM
1IF EXISTS
2 ( SELECT 1
3 FROM sysobjects obj
4 WHERE (obj.name = 'WYP_AUTA')
5 AND (OBJECTPROPERTY(obj.[id],'IsUserTable')=1)
6 )
7 BEGIN
8 DROP TABLE WYP_AUTA
9 END
10 IF EXISTS
11 ( SELECT 1
12 FROM sysobjects obj
13 WHERE (obj.name = 'WYPAS')
14 AND (OBJECTPROPERTY(obj.[id],'IsUserTable')=1)
15 )
16 BEGIN
17 DROP TABLE WYPAS
18 END
19 IF EXISTS
20 ( SELECT 1
21 FROM sysobjects obj
22 WHERE (obj.name = 'Auta')
23 AND (OBJECTPROPERTY(obj.[id],'IsUserTable')=1)
24 )
25 BEGIN
26 DROP TABLE Auta
27 END
28
29
30
31CREATE TABLE [dbo].Auta
32( id_auta int NOT NULL IDENTITY
33 CONSTRAINT pk_auta PRIMARY KEY
34, marka CHAR(40) NOT NULL
35, model CHAR(40) NOT NULL
36)
37
38
39DECLARE
40@auto_1 INT
41,@auto_2 INT
42,@auto_3 INT
43,@auto_4 INT
44,@auto_5 INT
45,@auto_6 INT
46,@auto_7 INT
47,@auto_8 INT
48,@auto_9 INT
49,@auto_10 INT
50
51INSERT INTO Auta(marka, model) VALUES ('BMW', 'e60')
52SET @auto_1 = SCOPE_IDENTITY()
53INSERT INTO Auta(marka, model) VALUES ('Alfa Romeo', '159')
54SET @auto_2 = SCOPE_IDENTITY()
55INSERT INTO Auta(marka, model) VALUES ('Lamborgini', 'Aventadar')
56SET @auto_3 = SCOPE_IDENTITY()
57INSERT INTO Auta(marka, model) VALUES ('Porshe', '911 Turbo S')
58SET @auto_4 = SCOPE_IDENTITY()
59INSERT INTO Auta(marka, model) VALUES ('Bentley', 'Continental GT')
60SET @auto_5 = SCOPE_IDENTITY()
61INSERT INTO Auta(marka, model) VALUES ('Ferrari', '488')
62SET @auto_6 = SCOPE_IDENTITY()
63INSERT INTO Auta(marka, model) VALUES ('Lamborgini', 'Huracan')
64SET @auto_7 = SCOPE_IDENTITY()
65INSERT INTO Auta(marka, model) VALUES ('BMW', 'e46')
66SET @auto_8 = SCOPE_IDENTITY()
67INSERT INTO Auta(marka, model) VALUES ('Porshe', 'Cayenne')
68SET @auto_9 = SCOPE_IDENTITY()
69INSERT INTO Auta(marka, model) VALUES ('Audi', 'SQ7')
70SET @auto_10 = SCOPE_IDENTITY()
71
72CREATE TABLE [dbo].WYPAS
73( IDW nchar(10) NOT NULL
74 CONSTRAINT pk_wypas PRIMARY KEY
75, opis nvarCHAR(40) NOT NULL
76)
77
78
79INSERT INTO WYPAS(IDW,opis) VALUES ('ABS','ABS')
80INSERT INTO WYPAS(IDW,opis) VALUES ('ESP','Elektryczne szyby przednie')
81INSERT INTO WYPAS(IDW,opis) VALUES ('GPS','Nawigacja GPS')
82INSERT INTO WYPAS(IDW,opis) VALUES ('WFK','Wielofunkcyjna kierownica')
83INSERT INTO WYPAS(IDW,opis) VALUES ('CPT','Czujniki parkowania tylne')
84INSERT INTO WYPAS(IDW,opis) VALUES ('TPS','Tapicerka skórzana')
85INSERT INTO WYPAS(IDW,opis) VALUES ('STJ','ESP (stabilizacja toru jazdy)')
86INSERT INTO WYPAS(IDW,opis) VALUES ('KAT','Klimatyzacja automatyczna')
87INSERT INTO WYPAS(IDW,opis) VALUES ('WSK','Wspomaganie kierownicy')
88INSERT INTO WYPAS(IDW,opis) VALUES ('RFA','Radio fabryczne')
89
90CREATE TABLE [dbo].WYP_AUTA
91(
92 id_auta int NOT NULL,
93 IDW nchar(10) NOT NULL,
94 CONSTRAINT pk_auta_wypas PRIMARY KEY (id_auta, IDW),
95 CONSTRAINT fk_auta FOREIGN KEY (id_auta) REFERENCES Auta(id_auta),
96 CONSTRAINT fk_wypas FOREIGN KEY (IDW) REFERENCES WYPAS(IDW)
97
98)
99
100
101INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'ABS')
102
103INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'ESP')
104INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'GPS')
105INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'WFK')
106INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'CPT')
107INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'TPS')
108INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_1,'STJ')
109/****/
110INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'ABS')
111INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'ESP')
112INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'GPS')
113INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'WFK')
114INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'CPT')
115INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'TPS')
116INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_2,'STJ')
117/****/
118INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'ABS')
119INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'ESP')
120INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'GPS')
121INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'WFK')
122INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'CPT')
123INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'TPS')
124INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_3,'STJ')
125/****/
126INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_4,'ABS')
127INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_4,'ESP')
128INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_4,'GPS')
129INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_4,'WFK')
130INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_4,'CPT')
131/****/
132INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_5,'ABS')
133INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_5,'ESP')
134INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_5,'GPS')
135INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_5,'WFK')
136INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_5,'CPT')
137/****/
138INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_6,'KAT')
139INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_6,'RFA')
140/****/
141INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_7,'WSK')
142INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_7,'TPS')
143INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_7,'KAT')
144/****/
145INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_8,'WSK')
146INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_8,'TPS')
147INSERT INTO WYP_AUTA(id_auta, IDW) VALUES (@auto_8,'RFA')
148
149
150--SELECT a.*
151--FROM Auta a
152--WHERE NOT EXISTS(
153--SELECT *
154--FROM WYP_AUTA wa
155--WHERE wa.id_auta=a.id_auta
156--)
157
158
159--select a.id_auta, a.marka, a.model
160--from Auta a
161--join WYP_AUTA wa on a.id_auta = wa.id_auta
162--join WYPAS w on w.IDW = wa.IDW
163--group by a.marka, a.model, a.id_auta
164--Having count(a.id_auta) = 7
165
166--select COUNT(a.id_auta)as [liczba wyposazeń],a.id_auta, a.marka, a.model
167--from Auta a
168--join WYP_AUTA wa on a.id_auta = wa.id_auta
169--join WYPAS w on w.IDW = wa.IDW
170--group by a.marka, a.model, a.id_auta
171--ORDER BY COUNT(a.id_auta) DESC
172
173--select a.id_auta, a.marka, a.model
174--from Auta a
175--join WYP_AUTA wa on a.id_auta = wa.id_auta
176--join WYPAS w on w.IDW = wa.IDW
177--group by a.id_auta, a.marka, a.model
178--HAVING COUNT(a.id_auta) = 5