limun11

BPII - LAB4

Jun 2nd, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 4.11 KB | None | 0 0
  1. /* 1. Iz bp Northwind prikazati ime i prezime zaposlenika (spojeno) sa ukupnim brojem narudzbi koje je uradio.
  2. Listu sortirati od zaposlenika sa najvecim brojem uradjenih narudzbi.*/
  3. USE Northwind
  4. GO
  5. SELECT E.FirstName + ' ' + E.LastName AS 'Ime i prezime',
  6.     COUNT (O.EmployeeID) AS 'Broj narudzbi'
  7. FROM Employees AS E
  8. INNER JOIN Orders AS O ON E.EmployeeID=O.EmployeeID
  9. GROUP BY E.FirstName, E.LastName
  10. ORDER BY [Broj narudzbi] DESC
  11.  
  12. /*Modifikovati prethodni upit tako da se prikaze broj narudzbi koje su uradjene u 7 mjesecu 1997. godine, a prikazati
  13. samo one zaposlenike koji su napravili 5 ili vise narudzbi.*/
  14. SELECT E.FirstName + ' ' + E.LastName AS 'Ime i prezime',
  15.     COUNT (O.EmployeeID) AS 'Broj narudzbi'
  16. FROM Employees AS E
  17. INNER JOIN Orders AS O ON E.EmployeeID=O.EmployeeID
  18. WHERE DATEPART(MONTH, OrderDate)=7 AND DATEPART(YEAR, OrderDate)=1997
  19. GROUP BY E.FirstName, E.LastName
  20. HAVING COUNT (O.EmployeeID)>=5
  21. ORDER BY [Broj narudzbi] DESC
  22.  
  23. /* 2.  Iz bp Northwind orikazati listu proizvoda kojih nema na zalihama. Takodjer, izlaz treba da sadrzi naziv dobavljaca,
  24. broj telefon dobavljaca, broj proizvoda na zalihama te koliko je komada prodano.*/
  25. SELECT s.CompanyName AS 'Dobavljac',
  26.         s.Phone AS 'Telefon',
  27.         p.ProductName AS 'Proizvod',
  28.         p.UnitsInStock AS 'Zalihe',
  29.         SUM(od.Quantity) AS Prodano
  30. FROM Suppliers AS s
  31. INNER JOIN Products AS p ON s.SupplierID=p.SupplierID
  32. INNER JOIN [Order Details] AS od ON p.ProductID=od.ProductID
  33. WHERE p.UnitsInStock=0
  34. GROUP BY s.CompanyName, s.Phone, p.ProductName,p.UnitsInStock
  35.  
  36. /* 3. Iz bp Pubs prikazati prodaju knjiga po prodavnicama. Izlaz treba da sadrzi sljedece kolone:
  37. naziv izdavaca, naziv prodavnice, naziv knjige i zaradu od prodaje.
  38. Potrebo je prikazati prodaju knjiga izdavaca sa imenom 'New Moon Books'.*/
  39. USE pubs
  40. GO
  41. SELECT p.pub_name AS Izdavac, st.stor_name AS Prodavnica, t.title AS Knjiga, SUM(s.qty*t.price) AS Zarada
  42. FROM publishers AS p
  43. INNER JOIN titles AS t ON p.pub_id=t.pub_id
  44. INNER JOIN sales AS s ON s.title_id=t.title_id
  45. INNER JOIN stores AS st ON st.stor_id=s.stor_id
  46. WHERE p.pub_name='New Moon Books'
  47. GROUP BY  p.pub_name, st.stor_name, t.title
  48. ORDER BY Prodavnica, Knjiga
  49.  
  50. /* 4. Vasa firma zeli da sazna neke informacije od svojim kupcima. Svake godine se analizira drugi region.
  51. Ove godine je dosao red na kupce iz United States. Izlaz treba da sadrzi:
  52. ime i prezime kupca, ukupan broj narudzbi za prikazanog kupca, ukupnu kolicinu svih kupljenih proizvoda, region i grad iz
  53. kojeg kupac dolazi. Uslovi su:
  54.     -pored onih kupaca koji su nesto kupili, lista treba da sadrzi i one koji nisu uradili niti jednu narudzbu
  55.     -ukoliko u izlazu postoji kolona u kojoj se pojavljju NULL vrijednosti iste je potrebno zamijneiti brojem 0
  56.     -pored toga sto se traze kupci iz US, na listu je potrebno dodati i one koji dolaze iz grada 'Montreal'. (adv.)*/
  57.  
  58. USE AdventureWorks2014
  59. GO
  60. SELECT p.FirstName + ' ' + p.LastName AS Kupac,
  61.         COUNT(soh.CustomerID) AS 'Broj narudzbi',
  62.         ISNULL(SUM(sod.OrderQty), 0) AS 'Narucena kolicina',
  63.         pa.City AS Grad
  64.         --region
  65. FROM Sales.Customer AS c
  66. INNER JOIN Person.Person AS p ON p.BusinessEntityID=c.PersonID
  67. LEFT JOIN Sales.SalesOrderHeader AS soh ON c.CustomerID=soh.CustomerID
  68. LEFT JOIN Sales.SalesOrderDetail AS sod ON soh.SalesOrderID=sod.SalesOrderID
  69. INNER JOIN Sales. SalesTerritory AS st ON st.TerritoryID=c.TerritoryID
  70. INNER JOIN Person.Address AS pa ON pa.AddressID=st.TerritoryID
  71. WHERE pa.City='Montreal'
  72. GROUP BY p.FirstName, p.LastName, pa.City
  73.  
  74.  
  75. /* 5. Za kupca sa imenim i prezimenom 'Jordan Green' prikazati tipove i brojeve kartica koje posjeduje, te narudzbe koje je uradio
  76. koristeci kartice (broj narudbe, datum narudzbe) (adv.)*/
  77. SELECT p.FirstName, p.LastName, scc.CardType,  scc.CardNumber, soh.SalesOrderNumber, soh.OrderDate
  78. FROM Sales.Customer AS sc
  79. INNER JOIN Person.Person AS p ON sc.PersonID=p.BusinessEntityID
  80. INNER JOIN Sales.PersonCreditCard AS pp ON p.BusinessEntityID=pp.BusinessEntityID
  81. INNER JOIN Sales.CreditCard AS scc ON scc.CreditCardID=pp.CreditCardID
  82. INNER JOIN Sales.SalesOrderHeader AS soh ON soh.CreditCardID=scc.CreditCardID
  83. WHERE p.FirstName='Jordan'  AND p.LastName='Green'
Add Comment
Please, Sign In to add comment