Hiba9201

aaaa

Oct 20th, 2021
1,805
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. USE KN302_PELEVINA
  2. GO
  3.  
  4. -- Количество оперделенного товара за определенную дату
  5. DECLARE @tovar VARCHAR(50);
  6. SET @tovar = 'молоко';
  7.  
  8. DECLARE @DATE DATE;
  9. SET @DATE = '2021-12-03';
  10.  
  11. DECLARE @postup INT;
  12.  
  13. SET @postup = (
  14.     SELECT SUM(agr.kol_vo)
  15.     FROM (
  16.          SELECT t.kol_vo kol_vo
  17.          FROM market_practice.tovar t
  18.                   LEFT JOIN market_practice.tip_tovara tt
  19.                             ON t.id_t = tt.id_t
  20.          WHERE tt.t_name = @tovar
  21.            AND t.priznak = 0
  22.            AND t.post_prod <= @DATE
  23.     ) agr
  24. )
  25.  
  26. DECLARE @prod INT;
  27.  
  28. SET @prod = (
  29.     SELECT SUM(agr.kol_vo)
  30.     FROM (
  31.          SELECT t.kol_vo kol_vo
  32.          FROM market_practice.tovar t
  33.                   LEFT JOIN market_practice.tip_tovara tt
  34.                             ON t.id_t = tt.id_t
  35.          WHERE tt.t_name = @tovar
  36.            AND t.priznak = 1
  37.            AND t.post_prod <= @DATE
  38.     ) agr
  39. )
  40.  
  41. DECLARE @RESULT INT;
  42. SET @RESULT = @postup - @prod;
  43.  
  44. print(N'Товаров типа ' + CAST(@tovar AS NVARCHAR(30)) + N': ' + CAST(@RESULT AS nvarchar(30)))
  45.  
  46.  
  47. -- Максимальная, минимальная и средняя цена за определенный товар
  48. DECLARE @tovar VARCHAR(50);
  49. SET @tovar = 'молоко';
  50.  
  51. SELECT
  52.        CAST(MAX(t.price) AS DECIMAL(18,2)) "Максимальная цена",
  53.        CAST(MIN(t.price) AS DECIMAL(18,2)) "Минимальная цена",
  54.        CAST(avg(t.price) AS DECIMAL(18,2)) "Средняя цена"
  55. FROM market_practice.tovar t
  56. LEFT JOIN market_practice.tip_tovara tt
  57.     ON t.id_t = tt.id_t
  58. WHERE tt.t_name = @tovar
  59. GO
  60.  
  61.  
  62. -- Количество товаров в определенном магазине
  63. DECLARE @market VARCHAR(20)
  64. SET @market = 'Жизньмарт'
  65.  
  66. DECLARE @postup INT;
  67. SET @postup = (
  68.     SELECT SUM(agr.kol_vo)
  69.     FROM (
  70.          SELECT t.kol_vo kol_vo
  71.          FROM market_practice.tovar t
  72.          LEFT JOIN market_practice.market m
  73.             ON t.id_m = m.id_m
  74.          WHERE m.m_name = @market
  75.            AND t.priznak = 0
  76.     ) agr
  77. )
  78.  
  79. DECLARE @prod INT;
  80.  
  81. SET @prod = (
  82.     SELECT SUM(agr.kol_vo)
  83.     FROM (
  84.          SELECT t.kol_vo kol_vo
  85.          FROM market_practice.tovar t
  86.          LEFT JOIN market_practice.market m
  87.             ON t.id_m = m.id_m
  88.          WHERE m.m_name = @market
  89.            AND t.priznak = 1
  90.     ) agr
  91. )
  92.  
  93. DECLARE @RESULT INT;
  94. SET @RESULT = @postup - @prod;
  95.  
  96. print(N'Товаров в ' + CAST(@market AS nvarchar(20)) + N': ' + CAST(@RESULT AS nvarchar(20)))
RAW Paste Data