View difference between Paste ID: 6dzsVJvh and v6SjvEf2
SHOW: | | - or go back to the newest paste.
1
--UPITI::Northwind
2
3
--1.  Prikazati listu zaposlenika sa sljedećim atributima: ID, ime, prezime i titulu, gdje je ID = 9 ili dolaze iz USA.
4
USE Northwind
5
SELECT EmployeeID, FirstName, LastName, Title
6
FROM Employees
7
WHERE EmployeeID=9 OR Country='USA'
8
9
--2.  Prikazati podatke o narudžbama koje su napravljene prije 19.07.1996. godine. Izlaz treba da sadrži sljedeće kolone: broj narudžbe, datum narudžbe, id kupca, te grad.
10
USE Northwind
11
SELECT OrderID 'Broj narudzbe', OrderDate 'Datum narudzbe', CustomerID, ShipCity
12
FROM Orders
13
WHERE ShippedDate < '19960719'
14
--3. Prikazati ime kompanije kupca i kontakt telefon i to samo onih koji u svome imenu posjeduju riječ „Restaurant“. Ukoliko naziv kompanije sadrži karakter (-), kupce izbaciti iz rezultata upita.
15
USE Northwind
16
SELECT CompanyName, Phone
17
FROM Customers
18
WHERE CompanyName LIKE '%restaurant%' AND CompanyName NOT LIKE '%-%'
19
20
--4. Prikazati listu proizvoda čiji naziv počinje slovima „S“ ili  „T“, ili je ID proizvoda = 46. Također, lista treba da sadrži one proizvode čija je se cijena po komadu kreće između 10 i 50. Upit napisati na dva načina.
21
USE Northwind
22
SELECT ProductID, ProductName
23
FROM Products
24
WHERE (ProductName LIKE '[st]%' OR ProductID=46) AND UnitPrice BETWEEN 10 and 50
25
26
USE Northwind
27
SELECT ProductID, ProductName
28
FROM Products
29
WHERE (ProductName LIKE 's%' OR ProductName LIKE 't%' OR ProductID=46) AND UnitPrice BETWEEN 10 and 50
30
31
--5. Prikazati dobavljače koji dolaze iz Španije ili Njemačke a nemaju unesen broj faxa. Formatirati izlaz NULL vrijednosti. Upit napisati na dva načina.
32
USE Northwind
33
SELECT SupplierID, CompanyName, Country, ISNULL(Fax,0)
34
FROM Suppliers
35
WHERE Country IN ('Spain','Germany') AND Fax IS NULL
36
37
USE Northwind
38
SELECT SupplierID, CompanyName, Country, ISNULL(Fax,0)
39
FROM Suppliers
40
WHERE (Country LIKE 'Spain' OR Country LIKE 'Germany') AND Fax IS NULL
41
42
--6. Prikazati naziv proizvoda i cijenu gdje je stanje na zalihama manje od naručene količine. Također, u rezultate upita uključiti razliku između naručene količine i stanja zaliha.
43
USE Northwind
44
SELECT ProductName, UnitPrice, (UnitsOnOrder-UnitsInStock) 'Razlika UOO-UIS'
45
FROM Products
46
WHERE UnitsInStock<UnitsOnOrder
47
48
--7. Prikazati stavke narudžbe (sve kolone) gdje je količina narudžbe bila veća od 100 komada uz odobreni popust.
49
USE Northwind
50
SELECT *
51
FROM [Order Details]
52
WHERE Quantity > 100 AND Discount>0
53
54
--8. Prikazati proizvode čiji naziv ne počinje slovima „S“ ili „L“, drugo slovo je nepoznato, a treće slovo u nazivu je „A“ ili „C“. Koristiti wildcard karaktere.
55
USE Northwind
56
SELECT ProductName
57
FROM Products
58
WHERE ProductName LIKE '[^sl]_[ac]%'
59
60
61
--UPITI:Pubs
62
--1. Prikazati listu autora sa sljedećim kolonama: ID, ime i prezime (spojeno), grad i to samo one autore čiji ID počinje brojem 8 ili dolaze iz grada „Salt Lake City“. Također autorima status ugovora treba biti 1. Koristiti aliase nad kolonama. 
63
USE pubs
64
SELECT au_id 'ID', au_fname + ' ' + au_lname 'Ime i Prezime', city 'Grad'
65
FROM authors
66
WHERE (au_id LIKE '8%' OR city='Salt Lake City') AND contract=1
67
68
--2. Prikazati sve tipove knjiga bez duplikata. Listu sortirati po tipu.
69
USE pubs
70
SELECT DISTINCT type
71
FROM titles
72
ORDER BY type
73
74
--3. Prikazati listu prodaje knjiga sa sljedećim kolonama: ID prodavnice, broj narudžbe i količinu, ali samo gdje je količina između 10 i 50, uključujući i granične vrijednosti. Rezultat upita sortirati po količini opadajućim redoslijedom. Upit napisati na dva načina.
75
USE pubs
76
SELECT stor_id, ord_num, qty
77
FROM sales
78
WHERE qty BETWEEN 10 AND 50
79
ORDER BY qty DESC
80
81
--4. Prikazati listu knjiga sa sljedećim kolonama: naslov, tip djela i cijenu. Kao novu kolonu dodati 20% od prikazane cijene (npr. Ako je cijena 19.99 u novoj koloni treba da piše 3,998). Naziv kolone se treba zvati „20% od cijene“. Listu sortirati abecedno po tipu djela i po cijeni opadajućim redoslijedom. Sa liste eliminisati one vrijednosti koje u polju cijena imaju nepoznatu vrijednost. Modifikovati upit tako da prikaže cijenu umanjenu za 20 %. Naziv kolone treba da se zove „Cijena umanjena za 20%“.
82
USE pubs
83
SELECT title, type, price, (price*0.2) '20% od cijene'
84
FROM titles
85
WHERE price IS NOT NULL
86
ORDER BY type, price DESC
87
88
--5. Prikazati 10 količinski najvećih stavki prodaje. Lista treba da sadrži broj narudžbe, datum narudžbe i količinu. Provjeriti da li ima više stavki sa količinom kao posljednja u listi.
89
USE pubs
90
SELECT TOP(10) WITH TIES ord_num, ord_date, qty
91
FROM sales
92
ORDER BY qty DESC
93
94
95
--UPITI::AdvetureWorksLT
96
--1. Kreirati poruku dobrodošlice za kupce u sljedećem formatu: Dobrodošli Ime + Prezime, trenutno vrijeme je 11:20. Upit raditi na dva načina, koristeći funkcije za rad sa stringovima i datumima.
97
USE AdventureWorksLT2012
98
SELECT 'Dobro dosli '+FirstName+' '+ LastName+', trenutno vrijeme je '+SUBSTRING(CONVERT(CHAR,SYSDATETIME()),12,5) 'Welcome'
99
FROM SalesLT.Customer
100
101
USE AdventureWorksLT2012
102
SELECT 'Dobro dosli '+FirstName+' '+ LastName+', trenutno vrijeme je '+SUBSTRING(CAST(SYSDATETIME() AS NVARCHAR),12,5) 'Welcome'
103
FROM SalesLT.Customer
104
105
--2. Kreirati korisničke podatke za kupce: korisničko ime i lozinku. Korisničko ime kreirati koristeći mail adresu (sve do znaka @), a lozinku koristeći kolonu PasswordHash (preskočiti prvih 5 karaktera i uzeti narednih 8, te ukoliko se pojavljuje karakter '+', zamijeniti ga sa '#'). Korisničke podatke kreirati samo za kupce koji imaju unesenu titulu a titula je 'Mr.'
106
USE AdventureWorksLT2012
107
SELECT LEFT(EmailAddress, CHARINDEX('@', EmailAddress)-1)'Ime', REPLACE(LEFT(RIGHT(PasswordHash, LEN(PasswordHash)-5),8),'+','#')'Lozinka'	
108
FROM SalesLT.Customer
109
WHERE title LIKE 'Mr.'
110
111
--3. Prikazati početak i kraj prodaje proizvoda, također, u listu uključiti i ukupno trajanje prodaje u mjesecima. Uslovi su: da je kraj prodaje proizvoda unesen i da naziv proizvoda počinje sa L ili M, a završava sa L. 
112
USE AdventureWorksLT2012
113
SELECT SellStartDate, SellEndDate, MONTH(SellEndDate-SellStartDate)'Trajanje prodaje u mjesecima'
114
FROM SalesLT.Product
115
WHERE SellEndDate IS NOT NULL AND Name LIKE '[LM]%L'
116
117
--4. Prikazati broj narudžbe, broj dana do isporuke, ukupan iznos i način dostave. Kolonu način dostave ispisati malim slovima s tim da je početno slovo veliko. Ukupan iznos narudžbe treba biti između 200 i 1000.
118
USE AdventureWorksLT2012
119
SELECT SalesOrderNumber, DAY(ShipDate-OrderDate)'Do isporuke(dana)', TotalDue 'Ukupan iznos', LEFT(ShipMethod,1)+SUBSTRING(LOWER(shipmethod),2,20)
120
FROM SalesLT.SalesOrderHeader
121
WHERE TotalDue BETWEEN 200 AND 1000
122
123
-- 5. Prikazati 10 najskupljih stavki narudžbe (ID stavke, cijena, količina, ukupno). Kolonu ukupno (izračunata kolona) zaokružiti na preciznost od dvije decimale. Također, potrebno je formatirati izlaz kolona cijena, količina i ukupno. Koristiti sljedeće formate: Cijena: 100.20 KM; Količina: 3 kom.; Ukupno: 300.60 KM.
124
USE AdventureWorksLT2012
125
SELECT TOP(10) SalesOrderID,CONVERT(nvarchar,unitprice) +' KM' 'Cijena',CONVERT(nvarchar,OrderQty)+' kom.' 'Kolicina', ROUND((UnitPrice*OrderQty),2)'Ukupno'
126
FROM SalesLT.SalesOrderDetail
127
ORDER BY Ukupno DESC
128
129
130
-- Upiti :: AdventureWorks2012
131
132
-- 1. Kreirati upit koji prikazuje korisničko ime zaposlenika (Sve iza znaka „\“, kolona LoginID), starost i godine staža. 
133
-- Uslovi su da zaposlenik ima više od 50 godina, više od 10 godina staža i da je ženskog spola. Listu sortirati po godinama staža opadajućim redoslijedom.
134
USE AdventureWorks2012
135
SELECT SUBSTRING(LoginID,CHARINDEX('\',LoginID)+1,30)'Korisnicko ime', DATEDIFF(YEAR,BirthDate,GETDATE()) 'Starost', DATEDIFF(YEAR,HireDate,GETDATE()) 'Godine staza'
136
FROM HumanResources.Employee
137
WHERE DATEDIFF(YEAR,BirthDate,GETDATE())>50 AND DATEDIFF(YEAR,HireDate,GETDATE())>10 AND [Gender] = 'F'
138
ORDER BY [Godine staza] DESC
139
140
--2. Prikazati minimalnu, maksimalnu i prosječnu cijenu proizvoda ali samo onih gdje je cijena (ListPrice) veća od 0. Koristiti aliase.
141
USE AdventureWorks2012
142
SELECT ProductModelID, AVG(ListPrice)'Srednja', MIN(ListPrice)'Minimalna',MAX(ListPrice)'Maximalna'
143
FROM Production.Product
144
WHERE ListPrice > 0
145
GROUP BY ProductModelID
146
147
--3. Prikazati ukupan broj proizvoda po modelu (ProductModel9. Lista treba da sadrži ID modela proizvoda i ukupan broj proizvoda. Uslov je da proizvod pripada nekom modelu i da je ukupan broj proizvoda veći od 1.
148
USE AdventureWorks2012
149
SELECT ProductModelID, COUNT(ProductModelID)'Ukupan broj proizvoda'
150
FROM Production.Product
151
WHERE ProductModelID IS NOT NULL
152
GROUP BY ProductModelID
153
HAVING COUNT(ProductModelID) > 1
154
155
--4. Kreirati upit koji prikazuje 10 najprodavanijih proizvoda. Lista treba da sadrži ID proizvoda i ukupnu količinu prodaje. Provjeriti da li ima proizvoda sa istom količinom prodaje kao zapis pod rednim brojem 10?
156
SELECT TOP 10 WITH TIES ProductID, SUM(OrderQty)'Ukupna kolicina prodaje'
157
FROM Sales.SalesOrderDetail
158
GROUP BY ProductID
159
ORDER BY SUM(OrderQty) DESC
160
161
--5. Kreirati upit koji prikazuje zaradu od prodaje proizvoda. Lista treba da sadrži ID proizvoda, ukupnu zaradu bez popusta, te ukupnu zaradu sa popustom. Iznos zarade zaokružiti na dvije decimale. Uslov je da se prikaže zarada samo za stavke gdje je bilo popusta. Listu sortirati po zaradi opadajućim redoslijedom.
162
SELECT ProductID, ROUND(UnitPrice,2) 'Ukupna zarada bez popusta', ROUND(UnitPrice - UnitPriceDiscount,2) 'Zarda sa popustom'
163
FROM Sales.SalesOrderDetail
164
WHERE UnitPriceDiscount>0
165
ORDER BY 2 DESC
166
167
168
--Upiti::Northwind
169
--1. Kreirati upit koji prikazuje broj proizvoda po kategoriji te ukupnu količinu na zalihama. Uslov je da stanje na zalihama između 300 i 500. Sortirati po broju proizvoda u kategoriji opadajućim redoslijedom. 
170
USE Northwind
171
SELECT CategoryID, SUM(UnitsInStock)
172
FROM Products
173
GROUP BY CategoryID
174
HAVING SUM(UnitsInStock)>300 AND SUM(UnitsInStock)<500
175
ORDER BY 2 DESC
176
177
--2. Prikazati naziv proizvoda i ukupnu zaradu od prodaje. Uslov je da naziv proizvoda počinje slovom 'S' i da je zarada veća od 10.000. Sortirati po zaradi opadajućim redoslijedom. Koristiti JOIN operator.
178
USE Northwind
179
SELECT ProductName, OD.UnitPrice *OD.Quantity
180
FROM Products AS P JOIN [Order Details] AS OD ON P.ProductID=OD.ProductID
181
WHERE ProductName LIKE '[S]%' AND OD.UnitPrice *OD.Quantity>1000
182
183
--3. Deklarisati poruku u formatu:
184
--Poštovani, želimo Vam sretnu i uspješnu novu godinu!
185
--Nakon toga, u tekst ubaciti naziv dobavljača kojem se šalje poruka i to prije zareza u formatu:
186
--Poštovani NEKI DOBAVLJAČ, želimo...
187
USE Northwind
188
SELECT 'Postovani ' +ContactName + ', želimo Vam sretnu i uspješnu novu godinu!' AS 'poruka' 
189
FROM Suppliers
190
191
--4. Kompanija je odlučila da svojim zaposlenicima dodjeli mail adrese. Za tu svrhu će se iskoristiti postojeće podatke iz baze podataka. Izlaz treba biti u formatu tri nove kolone: Email, Lozinka i Starost. Uslovi su sljedeći:
192
--	Email se formira od podataka u kolonama: LastName, FirstName, City i to sljedećem formatu: [email protected] (sve malim slovima),
193
--	Lozinka se formira od podataka iz kolona: Notes, Title i Address na sljedeći način: Spajanjam kolona (Notes, Title i Address). Sljedeći korak jeste da se sadržaj spajanja okrene obrnuto (npr. dbms2013 – 3102smbd). Nakon toga, iz dobivenog stringa, preskačemo prvih 20 karaktera i uzimamo sljedećih 8. Na pojedinim mjestma će se pojaviti razmak,  isti je potrebno zamjeniti sa znakom #,
194
--	Starost se formira na osnovu kolone BirthDate i trenutnog datuma.
195
--Mail, lozinka i godine starosti se generišu samo za one klijente koji imaju unesenu adresu. 
196
USE Northwind
197
SELECT LastName + '.' + FirstName + '@' + City + '.com' AS 'Email', REPLACE(SUBSTRING(REVERSE(CONVERT(nvarchar,Notes)+CONVERT(nvarchar,Title)+Address), 20, 8),' ','#') AS 'Lozinka', DATEDIFF(YEAR,BirthDate,GETDATE()) 'Starost'
198
FROM Employees
199
WHERE Address IS NOT NULL
200
201
--5. Vaša kompanija želi saznati koji su to zaposlenici rođeni u 7 mjesecu bilo koje godine s ciljem slanja čestitki i odgovarajućuih poklona. Vaš zadatak je da kreirate listu zaposlenika sa: 
202
--	imenom, prezimenom, brojem telefona i datumom rođenja,
203
--	kreirati kolonu koja sadrži podatak o ukupnom broju dana zaposlenja radnika u Vašoj kompaniji,
204
--	uslov je da su traženi zaposlenici imaju više od 7000 dana staža.
205
USE Northwind
206
SELECT FirstName'Ime',LastName'Prezime',HomePhone'Broj tel.',BirthDate'Datum rodjenja',DATEDIFF(DAY,HireDate,GETDATE())'Broj dana zaposlen'
207
FROM Employees
208
WHERE DATEDIFF(DAY,HireDate,GETDATE()) > 7000
209
210
211
--UPITI – Vježba 6
212
213
--1. Iz baze podataka Pubs prikazati spojeno ime i prezime autora sa ukupnim brojem objavljenih djela. Izlaz sortirati abecedno po prezimenu.
214
USE pubs
215
SELECT au_fname+' '+au_lname+' ima ' AS 'Ime',  COUNT(title_id) AS 'Ukupno objavljenih djela'
216
FROM authors AS A JOIN titleauthor AS TA ON A.au_id=TA.au_id
217
GROUP BY au_fname, au_lname
218
219
--2. Koristeći tabele CountryRegion, StateProvince i Address iz baze podataka AdwentureWorks, kreirati izvještaj	koji za svaku državu prikazuje sve njene regione i za svaki region ukupan broj osoba.
220
USE AdventureWorks2012
221
SELECT PC.Name'Drzava', PS.Name'Region', COUNT(PA.AddressID)'Broj osoba'
222
FROM [Person].[CountryRegion] AS PC JOIN [Person].[StateProvince] AS PS ON PC.CountryRegionCode=PS.CountryRegionCode JOIN [Person].[Address] AS PA ON PS.StateProvinceID=PA.StateProvinceID
223
GROUP BY PC.Name,PS.Name
224
225
--3. Iz baze podataka Northwind prikazati listu proizvoda sa cijenom po komadu. Također, izlaz treba da sadrži broj proizvoda na zalihama te koliko je komada prodano. Prikazati samo proizvode kojih nema na zalihama.
226
USE Northwind
227
SELECT ProductName 'Proizvod', UnitPrice'Cijena po komadu', UnitsInStock 'Zalihe',UnitsOnOrder'Prodano'
228
FROM Products 
229
WHERE UnitsInStock = 0
230
231
--4. Iz baze podataka Northwind prikazati ime i prezime zaposlenika (spojeno) te količinu novca koju su zaradili u 7 mjesecu 1997. godine. 
232
USE Northwind
233
SELECT E.FirstName+' '+E.LastName AS 'Ime', SUM(O.Freight)AS'Ukupna zarada'
234
FROM Employees AS E JOIN Orders AS O ON E.EmployeeID=O.EmployeeID JOIN [Order Details] AS OE ON O.OrderID=OE.OrderID
235
WHERE DATEPART(MONTH,O.OrderDate)=7 AND DATEPART(YEAR,O.OrderDate)=1997
236
GROUP BY E.FirstName,E.LastName
237
238
--5. Kreirati upit koji će prikazati naziv modela proizvoda i opis modela proizvoda (AdventureWorksLT). Uslovi koji se trebaju zadovoljiti su: 
239
--a)	Naziv modela sadrži riječ „Mountain“, i
240
--b)	Godina izmjene modela je 2001 (koristiti funkciju), i
241
--c)	Opis mora biti na engleskom jeziku.
242
243
USE AdventureWorksLT2012
244
SELECT PM.Name'Naziv modela', PD.Description'Opis modela'
245
FROM SalesLT.Product AS P JOIN SalesLT.ProductModel AS PM ON P.ProductModelID=PM.ProductModelID JOIN SalesLT.ProductModelProductDescription AS PMPD ON PM.ProductModelID=PMPD.ProductModelID JOIN SalesLT.ProductDescription AS PD ON PMPD.ProductDescriptionID=PD.ProductDescriptionID
246
WHERE PM.Name LIKE '%Mountain%' AND YEAR(P.SellStartDate)=2001 AND PMPD.Culture LIKE 'en%'
247
248
249
--UPITI – Priprema za prvi parcijalni ispit
250
251
--1. (Northwind) Prikazati ime i prezime zaposlenika (spojeno) sa ukupnim broj narudžbi koje je uradio. Listu sortirati od zaposlenika sa najvećim brojem urađenih narudžbi.
252
 USE Northwind
253
 SELECT FirstName+' '+LastName AS 'Ime', COUNT (O.OrderID)'Narudzbe'
254
 FROM Employees AS E JOIN Orders AS O ON E.EmployeeID=O.EmployeeID
255
 GROUP BY FirstName,LastName
256
 ORDER BY COUNT (O.OrderID) DESC
257
258
--Modifikovati prethodni upit tako da se prikaže ukupan broj narudžbi koje su zaposlenici uradili u 7 mjesecu 1997. godine. Prikazati samo one zaposlenike koji su uradili 5 ili više narudžbi. 
259
 USE Northwind
260
 SELECT FirstName+' '+LastName AS 'Ime', COUNT (O.OrderID)'Narudzbe'
261
 FROM Employees AS E JOIN Orders AS O ON E.EmployeeID=O.EmployeeID
262
 WHERE DATEPART(YEAR,OrderDate)=1997 AND DATEPART (MONTH, OrderDate)=7
263
 GROUP BY FirstName,LastName
264
 HAVING COUNT (O.OrderID)>=5
265
 ORDER BY COUNT (O.OrderID) DESC
266
267
268
--2. (Northwind) Kreirati izvještaj koji za svakog kupca prikazuje: ime kompanije spojeno sa imenom grada i države u sljedećem formatu  npr. Ernst Handel, (Graz Austria). U prikaz uključiti i zagrade. Također, izlaz treba da sadrži ukupnu količinu naručenih proizvoda. Uslovi su da izvještaj prikaže:
269
--	One kupce kod kojih spojen string iz postavke zadataka (Ernst Handel, (Graz Austria)  - nema riječ Germany
270
--	Imaju unesen podatak o poštanskom broju
271
--	Uslov je da izvještaj obuhvati one kupce gdje ukupna količina naručenih proizvoda preko 1000
272
USE Northwind
273
SELECT CompanyName +', (Grad '+ City+', Drzava '+ Country+')'AS 'Ime', SUM(OO.Quantity)'Narudzbe'
274
FROM Customers AS C JOIN Orders AS O ON C.CustomerID=O.CustomerID JOIN [Order Details] AS OO ON O.OrderID=OO.OrderID
275
WHERE Country NOT LIKE 'Germany' AND PostalCode IS NOT NULL
276
GROUP BY CompanyName,City,Country
277
HAVING SUM(OO.Quantity)>1000
278
279
--3. (AdventureWorksLT) Vaša firma želi da sazna neke informacije o svojim kupcima. Svake godine se analizira drugi region. Ove godine je došao red na kupce iz United States. 
280
--  Izlaz treba da sadrži: ime i prezime kupca, ukupan broj narudžbi za prikazanog kupca, ukupnu količinu svih kupljenih proizvoda, region i grad iz kojeg dolazi kupac. Uslovi su:
281
--	Pored onih kupaca koji su nešto kupili, lista treba da sadrži i one koji nisu uradili niti jednu narudžbu
282
--	Ukoliko u izlazu postoji kolona sa NULL vrijednosti istu je potrebno zamijeniti brojem 0
283
--	Pored toga što se traže kupci iz US, na listu je potrebno dodati i one koji dolaze iz grada „Montreal“
284
USE AdventureWorksLT2012
285
SELECT FirstName+' '+LastName, COUNT(P.ProductID)'Broj narudzbi' , SUM(ISNULL(SOD.OrderQty,0))'Ukupna kolicina svih kupljenih proizvoda' , CountryRegion+', '+City
286
FROM SalesLT.Customer AS C 
287
LEFT JOIN SalesLT.SalesOrderHeader AS SOH ON C.CustomerID=SOH.CustomerID
288
LEFT JOIN SalesLT.SalesOrderDetail AS SOD ON SOH.SalesOrderID=SOD.SalesOrderID
289
LEFT JOIN SalesLT.Product AS P ON SOD.ProductID=P.ProductID
290
JOIN SalesLT.CustomerAddress AS CA ON C.CustomerID=CA.CustomerID
291
JOIN SalesLT.Address AS A ON CA.AddressID=A.AddressID
292
WHERE CountryRegion='United States' OR City='Montreal'
293
GROUP BY FirstName,LastName,CountryRegion,City
294
295
--4. (AdventureWorks) Prikazati 10 najprodavanijih proizvoda (najveća količina prodaje) i zaradu od prodaje. 
296
-- Također, u listu uključiti jedinicu mjere (Size) u kojoj se proizvod prodaje. 
297
USE AdventureWorks2012
298
SELECT TOP 10 P.Name, SUM (SOD.OrderQty)'Kolicina prodaje', SUM(SOD.UnitPrice)'Zarada', ISNULL(P.Size,'N/A') 'size'
299
FROM Production.Product AS P
300
JOIN Sales.SalesOrderDetail AS SOD ON P.ProductID=SOD.ProductID
301
GROUP BY P.Name, P.Size
302
ORDER BY 2 DESC
303
304
--5. (AdventureWorks) Za kupca sa imenom i prezimenom 'Jordan Green' prikazati tipove i brojeve kartica koje posjeduje, 
305
-- te narudžbe koje je uradio koristeći kartice (broj narudžbe, datum narudžbe).
306
USE AdventureWorks2012
307
SELECT P.FirstName+' '+P.LastName AS 'Ime', CC.CardType'Tip kartice', CC.CardNumber'Broj kartice', SalesOrderNumber'Broj narudzbe', OrderDate'Datum narudzbe'
308
FROM Person.Person AS P
309
JOIN Sales.PersonCreditCard AS PCC ON P.BusinessEntityID=PCC.BusinessEntityID
310
JOIN Sales.CreditCard AS CC ON PCC.CreditCardID=CC.CreditCardID
311
JOIN Sales.SalesOrderHeader AS SOH ON CC.CreditCardID=SOH.CreditCardID
312
WHERE P.FirstName LIKE'Jordan' AND P.LastName LIKE'Green'