Если я правильно понимаю вашу проблему, попробуйте это:
declare @product table(
[Soil Type] varchar(50),
[Month/Year] smalldatetime,
[Total Hour] int,
[Volume] int
)
insert into @product values ('Clay', '20190101', 2, 20)
insert into @product values ('Clay', '20190101', 3, 10)
insert into @product values ('Sandy', '20190101', 4, 10)
insert into @product values ('Sandy', '20190201', 2, 25)
insert into @product values ('Clay', '20190301', 8, 40)
insert into @product values ('Mixed', '20190101', 2, 25)
insert into @product values ('Mixed', '20190102', 1, 20)
insert into @product values ('Sand', '20190101', 3, 30)
insert into @product values ('Sand', '20190101', 1, 2)
insert into @product values ('Clay', '20190101', 1, 15)
Select [date], Clay, Mixed, Sand, Sandy
FROM(
SELECT
[Soil Type], [Month/Year] as [date],
SUM([Volume]) / SUM([Total Hour]) as _data
FROM
@product
GROUP BY
[Soil Type], [Month/Year]
HAVING SUM([Volume])>30) x
PIVOT (
SUM(_data) FOR [Soil Type] IN (Clay, Mixed, Sand, Sandy)
) pvt