Advertisement
mislav1

transSQL

Feb 17th, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.73 KB | None | 0 0
  1. --Ishod 8
  2.  
  3. 1.--select
  4. --  po.Naziv,
  5. --  p.Naziv,
  6. --  SUM(s.UkupnaCijena)
  7. --from Stavka s
  8. --inner join Proizvod p on s.ProizvodID = p.IDProizvod
  9. --inner join Potkategorija po on po.IDPotkategorija = p.PotkategorijaID  
  10. --group by grouping sets(p.Naziv, po.Naziv, ())
  11.  
  12.  
  13. --
  14. 2.--select
  15. --  d.Naziv,
  16. --  g.Naziv,
  17. --  COUNT(k.IDKupac) as Broj,
  18. --  Rank() over(order by Broj)
  19. --from Drzava d
  20. --inner join Grad g on d.IDDrzava = g.DrzavaID
  21. --inner join Kupac k on k.GradID = g.IDGrad
  22. --group by grouping sets(d.Naziv,g.Naziv)
  23.  
  24. --
  25. 3.select
  26.     *,
  27.     (CijenaBezPDV / AVG(CijenaBezPDV) over()) * 100
  28. from Proizvod
  29. where CijenaBezPDV > 0
  30.  
  31.  
  32. --
  33.  
  34. 4.select
  35.     Naziv,
  36.     CijenaBezPDV,
  37.     CijenaBezPDV - LAG(CijenaBezPDV,1) over( order by CijenaBezPDV)
  38. from Proizvod
  39.  
  40. -------------------------------------------------------------------------------------
  41.  
  42. go
  43.  
  44. XML !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  45.    
  46. go
  47. alter proc umetni
  48. (
  49.     @a xml
  50. )
  51. as
  52.     declare @drzava nvarchar(200)
  53.     declare @ID int
  54.    
  55.     select @drzava = tablica.Stupac.value('@Naziv', 'nvarchar(1000)')
  56.     from @a.nodes('/Drzava') as tablica(Stupac)
  57.     print @drzava
  58.  
  59.     if(@drzava in (select Naziv from Drzava))
  60.     begin
  61.         select @ID = IDDrzava
  62.         from Drzava where Naziv = @drzava
  63.     end
  64.     else
  65.     begin
  66.         insert into Drzava(Naziv) values (@drzava)
  67.         set @ID = SCOPE_IDENTITY() 
  68.     end
  69.     print @ID
  70.     insert into Grad
  71.         select tablica.Stupac.value('.', 'nvarchar(1000)') as Naziv,
  72.         @ID as DrzavaId
  73.         from @a.nodes('/Drzava/Grad') as tablica(Stupac)
  74.        
  75.    
  76.  
  77. go
  78.  
  79. exec umetni '
  80.     <Drzava Naziv="Hrv">
  81.         <Grad>Bje</Grad>
  82.         <Grad>Bjel</Grad>
  83.         <Grad>Bjelo</Grad>
  84.     </Drzava>
  85. '
  86. select * from Grad
  87.  
  88. ------------------------------------------------------------------
  89.  
  90. go
  91.  
  92. select * from Proizvod
  93.  
  94. create type pro6 as table
  95. (
  96.     Naziv nvarchar(50),
  97.     BrojProizvoda nvarchar(25),
  98.     Boja nvarchar(15),
  99.     MinimalnaKolicinaNaSkladistu smallint,
  100.     CijenaBezPDV money,
  101.     PotkategorijaID int
  102. )
  103.  
  104. go
  105.  
  106. create proc p22
  107. (
  108.     @pro pro6 readonly
  109. )
  110. as
  111.     insert into Proizvod
  112.     select * from @pro
  113.  
  114. go
  115.  
  116. declare @t11 pro6
  117.  
  118. insert into @t11(Naziv, BrojProizvoda,  Boja,  MinimalnaKolicinaNaSkladistu, CijenaBezPDV, PotkategorijaID)
  119. values           ('a1', 'saf',         'plava',                          2,            1,              1)
  120. insert into @t11(Naziv, BrojProizvoda,  Boja,  MinimalnaKolicinaNaSkladistu, CijenaBezPDV, PotkategorijaID)
  121. values           ('a1', 'saf',         'plava',                          2,            1,              1)
  122. insert into @t11(Naziv, BrojProizvoda,  Boja,  MinimalnaKolicinaNaSkladistu, CijenaBezPDV, PotkategorijaID)
  123. values           ('a1', 'saf',         'plava',                          2,            1,              1)
  124.  
  125. exec p22 @t11
  126. select * from Proizvod
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement