Icakis

Exam 01.03.15 Problem 14.** Highest Peak Name and Elevation

Mar 2nd, 2015
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.09 KB | None | 0 0
  1. USE GEOGRAPHY
  2. GO
  3.  
  4. SELECT c.CountryName as [Country],
  5.     IIF(p.PeakName IS NULL, '(no highest peak)', p.PeakName) AS [Highest Peak Name],
  6.     IIF(max(p.Elevation) IS NULL, 0, max(p.Elevation)) AS [Highest Peak Elevation],
  7.     IIF(m.MountainRange IS NULL, '(no mountain)', m.MountainRange) AS [Mountain]
  8. FROM Peaks p
  9. JOIN Mountains m
  10.     ON p.MountainId = m.Id
  11. JOIN MountainsCountries mc
  12.     ON m.Id = mc.MountainId
  13. RIGHT JOIN Countries c
  14.     ON mc.CountryCode = c.CountryCode
  15. WHERE p.elevation = (
  16.         SELECT max(pp.Elevation)
  17.         FROM Peaks pp
  18.         JOIN Mountains mm
  19.             ON pp.MountainId = mm.Id
  20.         JOIN MountainsCountries mcc
  21.             ON mm.Id = mcc.MountainId
  22.         JOIN Countries cc
  23.             ON mcc.CountryCode = cc.CountryCode
  24.         WHERE cc.CountryCode = c.CountryCode
  25.         )
  26.     OR (
  27.         SELECT Count(pp.Id)
  28.         FROM Peaks pp
  29.         JOIN Mountains mm
  30.             ON pp.MountainId = mm.Id
  31.         JOIN MountainsCountries mcc
  32.             ON mm.Id = mcc.MountainId
  33.         JOIN Countries cc
  34.             ON mcc.CountryCode = cc.CountryCode
  35.         WHERE cc.CountryCode = c.CountryCode
  36.         ) = 0
  37. GROUP BY c.CountryName,
  38.     p.PeakName,
  39.     m.MountainRange
  40. order by [Country], [Highest Peak Name]
Advertisement
Add Comment
Please, Sign In to add comment