Advertisement
limun11

BPI - LAB5

Jun 2nd, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.55 KB | None | 0 0
  1. /* 1. Prijem se radi na Northwind bazi podataka.
  2. Menadzment firme zeli da nagradi kupca koji je utrošio najviše novca u februaru mjesecu. Zbog ograničenih sredstava ovaj put će biti
  3. nadrađen samo kupac koji dolazi iz Londona. Prikazati kupca sa sl podacima:
  4. ime i prezime (ContactName), adresa, telefon i ukupno potroseno.
  5. Kolonu ukupno utroseno fomatirati na sl nacin: 1000KM.*/
  6. SELECT TOP 1 c.ContactName AS Kupac, c.Address, c.Phone, SUM(od.UnitPrice*od.Quantity) AS 'Ukupno utroseno'
  7. FROM Customers AS c
  8. INNER JOIN Orders AS o ON c.CustomerID=o.CustomerID
  9. INNER JOIN [Order Details] AS od ON o.OrderID=od.OrderID
  10. WHERE DATEPART(MONTH, o.OrderDate)=2 AND c.City='London'
  11. GROUP BY c.ContactName, c.Address, c.Phone
  12. ORDER BY [Ukupno utroseno] DESC
  13.  
  14. /* 2. Koristeci bp pubs, prikazati listu zaposlenika (ime i prezime) sa sl podacima za svakog zaposlenog:
  15. minimalna, makismalna, srednja i ukupna kolicina prodatih artikala (knjiga). Uslovi su:
  16. ukupna prodaja treba biti veca od 100, a srednja izmedju 20 i 25 ukljucujuci granicne vrijednosti.*/
  17. USE pubs
  18. GO
  19. SELECT e.fname + ' ' + e.lname AS 'Ime i prezime',
  20.         MIN(s.qty) AS Minimalna,
  21.         MAX(s.qty) AS Maksimalna,
  22.         AVG(s.qty) AS Prosjecna,
  23.         SUM(s.qty) AS Ukupno
  24. FROM employee AS e
  25. INNER JOIN publishers AS p ON e.pub_id=p.pub_id
  26. INNER JOIN titles AS t ON p.pub_id=t.pub_id
  27. INNER JOIN sales AS s ON t.title_id=s.title_id
  28. GROUP BY e.fname, e.lname
  29. HAVING SUM(s.qty)>100 AND AVG(s.qty) BETWEEN 20 AND 25
  30.  
  31. /* 3. Primjer radi na adv2014 bp.
  32. Potrebno je prikazati informacije od kreditnim karticama kupaca. Izlaz treba da sadrži sl kolone:
  33. ime i prezime kupca, email, tip kartice, broj kartice i godinu isteka kartice. Uslovi su sl:
  34.     -prikazati samo vista kartice koje isticu u 2008. godini
  35.     -na kistu ukljuciti i kuoce koji nisu uradili niti jednu narudzbu koristeci crticu
  36.     -eliminisati duplakte u rezultatima upita
  37.     -izlaz sortirati abecedno po prezimenu kupca
  38. */
  39. USE AdventureWorks2014
  40. GO
  41. SELECT DISTINCT pp.FirstName + ' ' + pp.LastName AS 'Ime i prezime',
  42.         pea.EmailAddress,
  43.         scc.CardType,
  44.         scc.CardNumber,
  45.         scc.ExpYear
  46. FROM Sales.Customer AS sc
  47. INNER JOIN Person.Person AS pp ON sc.PersonID=pp.BusinessEntityID
  48. INNER JOIN Person.EmailAddress AS pea ON pp.BusinessEntityID=pea.BusinessEntityID
  49. INNER JOIN Sales.PersonCreditCard AS pcc ON pp.BusinessEntityID=pcc.BusinessEntityID
  50. INNER JOIN Sales.CreditCard AS scc ON pcc.CreditCardID=scc.CreditCardID
  51. LEFT OUTER JOIN Sales.SalesOrderHeader AS soh ON scc.CreditCardID=soh.CreditCardID
  52. WHERE scc.CardType='Vista' AND scc.ExpYear=2008
  53. ORDER BY 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement