limun11

BPII - Vjezba 3

Mar 15th, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 4.20 KB | None | 0 0
  1. /*Vježba 3 :: AdventureWorks2014
  2. 1. Za sve osobe koje imaju unesenu titulu kreirati poruku dobrodošlice u
  3. sljedećem formatu:
  4. Dobrodošli [titula] [ime i prezime], trenutno je [trenutno vrijeme] sati
  5. Upit napisati minimalno na 3 načina kombinirajući različite T-SQL funkcije!*/
  6.  
  7. USE AdventureWorks2014
  8. GO
  9. --1
  10. SELECT 'Dobrodosli ' + Title + ' ' + FirstName + ' ' +LastName + ', trenuto je '+
  11.         CONVERT(varchar, GETDATE(),108) + ' sati'
  12. FROM Person.Person
  13. WHERE Title IS NOT NULL
  14. --2
  15. SELECT 'Dobrodosli ' + Title + ' ' + FirstName + ' ' +LastName + ', trenuto je '+
  16.         RIGHT(CONVERT(varchar, GETDATE()),7) + ' sati'
  17. FROM Person.Person
  18. WHERE Title IS NOT NULL
  19. --3
  20. SELECT 'Dobrodosli ' + Title + ' ' + FirstName + ' ' +LastName + ', trenuto je'+
  21.         SUBSTRING(CONVERT(varchar, GETDATE()),14,4) + ' sati'
  22. FROM Person.Person
  23. WHERE Title IS NOT NULL
  24.  
  25. /*2. Prikazati minimalnu, maksimalnu i prosječnu cijenu proizvoda ali samo onih gdje je cijena
  26. veća od 0 KM.*/
  27.  
  28. SELECT MIN(ListPrice) AS [Minimalna], MAX(ListPrice) AS [Maksimalna], AVG(ListPrice) AS [Prosjecna]
  29. FROM Production.Product
  30. WHERE ListPrice>0
  31.  
  32. /*3. Kreirati upit koji prikazuje ukupan broj kupaca po teritoriji.
  33. Lista treba da sadrži sljedeće kolone: ID teritorije, ukupan broj kupaca.
  34. Uzeti u obzir samo teritorije gdje ima više od 1000 kupaca.*/
  35.  
  36. SELECT TerritoryID, COUNT (CustomerID) AS [Ukupan broj kupaca]
  37. FROM Sales.SalesOrderHeader
  38. GROUP BY TerritoryID
  39. HAVING  COUNT (CustomerID)>1000
  40.  
  41. /*4. Prikazati ukupan broj proizvoda po modelu. Lista treba da sadrži ID modela proizvoda i ukupan broj
  42. proizvoda. Uslov je da proizvod pripada nekom modelu i da je ukupan broj proizvoda po modelu veći od 1.
  43. Također, prebrojati samo proizvode čiji naziv počinje slovom 'S'.*/
  44.  
  45. SELECT ProductModelID, COUNT (ProductID) AS [Ukupan broj proizvoda]
  46. FROM Production.Product
  47. WHERE ProductModelID IS NOT NULL AND Name LIKE 'S%'
  48. GROUP BY ProductModelID
  49. HAVING COUNT (ProductID) > 1
  50.  
  51. /*5. Kreirati upit koji prikazuje 10 najprodavanijih proizvoda. Lista treba da sadrži ID proizvoda i
  52. ukupnu količinu prodaje. Provjeriti da li ima proizvoda sa istom količinom prodaje kao zapis pod rednim
  53. brojem 10?*/
  54.  
  55. SELECT TOP 10 SUM(OrderQty) AS [Ukupna kolicina prodaje], ProductID
  56. FROM Sales.SalesOrderDetail
  57. GROUP BY ProductID
  58. ORDER BY SUM(OrderQty)
  59.  
  60. /*6. Kreirati upit koji prikazuje zaradu od prodaje proizvoda. Lista treba da sadrži ID proizvoda,
  61. ukupnu zaradu bez uračunatog popusta i ukupnu zaradu sa uračunatim popustom. Iznos zarade zaokružiti
  62. na dvije decimale. Uslov je da se prikaže zarada samo za stavke gdje je bilo popusta.
  63. Listu sortirati po zaradi opadajućim redoslijedom.*/
  64.  
  65. SELECT ProductID, UnitPrice,UnitPriceDiscount ,
  66.        ROUND(SUM(UnitPrice),2) AS [Sume bez popusta],
  67.        ROUND(SUM(UnitPrice) - (Count(ProductID) * SUM(UnitPriceDiscount)),2) AS [Suma s popustom]
  68. FROM Sales.SalesOrderDetail
  69. WHERE UnitPriceDiscount>0
  70. GROUP BY ProductID, UnitPrice, UnitPriceDiscount
  71. ORDER BY ROUND(SUM(UnitPrice) - (Count(ProductID) * SUM(UnitPriceDiscount)),2) DESC
  72.  
  73. /*7. Prikazati broj narudžbe, datum narudžbe i datum isporuke za narudžbe koje su isporučene u
  74. Kanadu u 7. mjesecu 2014. godine. Uzeti u obzir samo narudžbe koje nisu plaćene kreditnom
  75. karticom. Datume formatirati u sljedećem obliku: dd.mm.yyyy*/
  76.  
  77. SELECT SalesOrderNumber, CONVERT(varchar, OrderDate, 104) AS [Order date],
  78.        CONVERT(varchar,ShipDate,104) AS [Ship date]
  79. FROM Sales.SalesOrderHeader
  80. WHERE CreditCardID IS NOT NULL AND MONTH(ShipDate)='7' AND YEAR(ShipDate)='2014'
  81.       AND TerritoryID='6'
  82. --CONVERT(data_type(length),expression,style)
  83. /*CONVERT(VARCHAR(19),GETDATE())
  84. CONVERT(VARCHAR(10),GETDATE(),10)
  85. CONVERT(VARCHAR(10),GETDATE(),110)
  86. CONVERT(VARCHAR(11),GETDATE(),6)
  87. CONVERT(VARCHAR(11),GETDATE(),106)
  88. CONVERT(VARCHAR(24),GETDATE(),113)*/
  89. SELECT *
  90. FROM Sales.SalesTerritory
  91.  
  92. /*8. Kreirati upit koji prikazuje minimalnu, maksimalnu, prosječnu te ukupnu zaradu po mjesecima
  93. u 2013. godini.*/
  94.  
  95. SELECT MIN(SubTotal) AS [Minimalna], MAX (SubTotal) AS [Makismalna],
  96.        AVG(SubTotal) AS [prosjecna], SUM(Subtotal) AS [Ukupna], MONTH(DueDate) AS [Po mjesecima]
  97. FROM Sales.SalesOrderHeader
  98. WHERE YEAR(DueDate)='2013'
  99. GROUP BY DueDate
Advertisement
Add Comment
Please, Sign In to add comment