суббота, 18 апреля 2020 г.

Для каждого класса крейсеров, число орудий которого известно, пронумеровать (последовательно от единицы) все орудия.

Задание: 104 (Serge I: 2013-07-19)
Для каждого класса крейсеров, число орудий которого известно, пронумеровать (последовательно от единицы) все орудия. 
Вывод: имя класса, номер орудия в формате 'bc-N'. 

with a as(
select x.class,x.numGuns,row_number()over(partition by x.class order by x.numguns)n
from Classes x,classes y
where x.type='bc')
select distinct class,'bc-'+cast(n as char(2))
from a where numguns> =n