Advertisement
SquirrelInBox

mysql

Oct 7th, 2015
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. USE master
  2. GO
  3.  
  4. IF EXISTS (
  5. SELECT name
  6. FROM sys.databases
  7. WHERE name = N'ElenaBeklenishcheva'
  8. )
  9. ALTER DATABASE ElenaBeklenishcheva set single_user with rollback immediate
  10. GO
  11.  
  12. IF EXISTS (
  13. SELECT name
  14. FROM sys.databases
  15. WHERE name = N'ElenaBeklenishcheva'
  16. )
  17. DROP DATABASE [ElenaBeklenishcheva]
  18. GO
  19.  
  20. CREATE DATABASE [ElenaBeklenishcheva]
  21. GO
  22.  
  23. USE [ElenaBeklenishcheva]
  24. GO
  25.  
  26. IF EXISTS(
  27. SELECT *
  28. FROM sys.schemas
  29. WHERE name = N'Scheme'
  30. )
  31. DROP SCHEMA Scheme
  32. GO
  33.  
  34. CREATE SCHEMA Scheme
  35. GO
  36.  
  37. IF OBJECT_ID('station', 'U') IS NOT NULL
  38. DROP TABLE station
  39. GO
  40.  
  41. CREATE TABLE station (
  42. id_station int PRIMARY KEY not NULL,
  43. name_station varchar(10) NULL,
  44. address_station varchar(10) NULL,
  45. )
  46. GO
  47.  
  48. INSERT INTO station (id_station, name_station, address_station) VALUES
  49. (0, 'Cтанция 1', 'Адрес 1'),
  50. (1, 'Станция 2', 'Адрес 2'),
  51. (2, 'Станция 3', 'Адрес 3')
  52.  
  53. IF OBJECT_ID('measure_type', 'U') IS NOT NULL
  54. DROP TABLE measure_type
  55. GO
  56.  
  57. CREATE TABLE measure_type (
  58. id_type int PRIMARY KEY not NULL,
  59. name_measure varchar(30) NULL,
  60. measure_unit char(5) NULL,
  61. )
  62. GO
  63.  
  64. INSERT INTO measure_type(id_type, name_measure, measure_unit) VALUES
  65. (0, 'Температура', 'C'),
  66. (1, 'Скорость ветра', 'км/ч'),
  67. (2, 'Давление', 'мм'),
  68. (3, 'Осадки', NULL)
  69.  
  70. IF OBJECT_ID('measures', 'U') IS NOT NULL
  71. DROP TABLE measures
  72. GO
  73.  
  74. CREATE TABLE measures (
  75. id_measure int PRIMARY KEY not NULL,
  76. id_type int not NULL,
  77. id_station int not NULL,
  78. measure_time date not NULL,
  79. measure_result int not NULL
  80. FOREIGN KEY (id_type) REFERENCES measure_type(id_type),
  81. FOREIGN KEY (id_station) REFERENCES station(id_station),
  82. )
  83. GO
  84.  
  85. INSERT INTO measures VALUES
  86. (0, 0, 0, '2015/10/15', 20),
  87. (1, 0, 0, '2015/10/10', 30),
  88. (2, 0, 1, '2015/10/15', 10),
  89. (3, 0, 2, '2015/10/10', -10),
  90. (4, 1, 2, '2015/06/23', 15),
  91. (5, 1, 1, '2015/07/23', 3),
  92. (6, 1, 0, '2015/08/23', 1),
  93. (7, 2, 0, '2015/08/23', 740),
  94. (8, 2, 1, '2015/07/23', 750),
  95. (9, 2, 2, '2015/06/23', 720),
  96. (10, 3, 0, '2015/07/23', 0),
  97. (11, 3, 1, '2015/08/23', 1),
  98. (12, 3, 2, '2015/06/23', 10)
  99.  
  100. /*SELECT id_type AS 'Номер типа измерений',
  101. id_station AS 'Номер станции',
  102. measure_time AS 'Время измерения',
  103. measure_result AS 'Результат измерения'
  104. FROM measures*/
  105.  
  106. SELECT CONVERT(varchar, measures.measure_time, 104) as 'Дата измерения',
  107. station.name_station as 'Имя станции',
  108. AVG(measures.measure_result)AS 'Средняя температура'
  109. FROM measures, station
  110. WHERE id_type < 1 AND measures.id_station = 0
  111. GROUP BY measures.measure_time, station.name_station
  112. GO
  113.  
  114. SELECT CONVERT(varchar, measures.measure_time, 104) as 'Дата измерения',
  115. station.name_station as 'Имя станции',
  116. AVG(measures.measure_result)AS 'Средняя скорость ветра'
  117. FROM measures, station
  118. WHERE measures.id_type=1 AND measures.id_station = 0
  119. GROUP BY measures.measure_time, station.name_station
  120. GO
  121.  
  122. SELECT CONVERT(varchar, measures.measure_time, 104) as 'Дата измерения',
  123. station.name_station as 'Имя станции',
  124. AVG(measure_result)AS 'Среднее давление'
  125. FROM measures, station
  126. WHERE measures.id_type=2 AND measures.id_station = 0
  127. GROUP BY measures.measure_time, station.name_station
  128. GO
  129.  
  130. SELECT CONVERT(varchar, measures.measure_time, 104) as 'Дата измерения',
  131. station.name_station as 'Имя станции',
  132. AVG(measure_result)AS 'Среднее количество осадков на первой станции'
  133. FROM measures, station
  134. WHERE measures.id_type=3 AND measures.id_station = 0
  135. GROUP BY measures.measure_time, station.name_station
  136. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement