I am trying to write a script that will combine specific survey results based on the demographs used in the survey. I have been able to write a script that adds demographs together to create a new demograph e.g. M18+ and F18+ = A18+ which works perfectly however when trying to create a script that will create a demograph range e.g. A18-24, i am encountering some issues i cannot resolve.

My first script that adds two demographs together is as follows:

    create table #SurveyTemp(
				Com nchar(6),
				Survey nvarchar(50),
				Demo nchar(50),
				Wk int,
				Time int,
				Aud decimal(18,8)
				)
    insert into #SurveyTemp (Com, Survey, Demo, Wk, Time, Aud)

	select Com, Survey, 'A18+', Wk, Time, sum(Aud)
	from table_survey
	where survey = 'LO2017'
	and 
	demograph like 'F18+'
	or
	surveyid = 'LO2017'
	and 
	demograph like 'M18+'
	group by Com, survey, Wk, Time

    insert into table_survey
    select temp.Com, temp.Survey, temp.Demo, temp.Wk, temp.Time, temp.Aud
    from #SurveyTemp temp

    drop table #SurveyTemp

This script works fine. It adds two demographs together and inserts new rows of data, creating a sum of the audience for each Com, Survey, Wk, and then Time. See the sample data set below where the addition of M18+ and F18+ has created a new record called A18+

Let me start with a sample data set:
(Disclaimer: the live database has MANY rows for each demograph)

    com | surveyid | demo | wk | time | audience
    -------------------------
     1 | LO2017	   | A18+ | 1  | 300  |   4.7
     1 | LO2017    | F18+ | 1  | 300  |   1.9
     1 | LO2017    | M18+ | 1  | 300  |   2.8
     1 | LO2017    | A25+ | 1  | 300  |   2.3
     1 | LO2017	   | A18+ | 2  | 100  |   3.7
     1 | LO2017    | F18+ | 2  | 100  |   1.9
     1 | LO2017    | M18+ | 2  | 100  |   2.8
     1 | LO2017    | A25+ | 2  | 100  |   4.3

What i need to write now is a script that creates a range. Notice how in the table above there is a A18+ and a A25+. Please bear in mind that in my live table there will be MULTIPLE rows for all demographs. 

In this example, i will be using the above table. So, i need to create a similar script that will sum the audience for two demographs and then subtract one from the other to create a range. For example, subtract the A25+ data from A18+ to create a range called A1824. I hope that makes sense.

In the script below, i am trying to create a range called 'A1824' but i am either getting a "subquery returned more than 1 row" error OR it is inserting the wrong data into the temp table where the sum in AudOne and AudTwo is the SAME for every single Wk and Time.

    create table #SurveyTemp(
				Com nchar(6),
				Survey nvarchar(50),
				Demo nchar(50),
				Wk int,
				Time int,
				Aud decimal(18,8),
				AudOne decimal(18,8),
				AudTwo decimal(18,8)
				)
    insert into #SurveyTemp (Com, Survey, Demo, Wk, TimeBlock, Aud, AudOne, AudTwo)
    (
    select Com, Survey, 'A1824', Wk, Time, 0.0, 
    (select sum(aud) from table_survey where demo = 'A18+'), 
    (select sum(aud) from table_survey where demo = 'A25+')
    from table_survey 
    where surveyid = 'LO2017'
    group by Com, survey, Wk, Time, 
    )

    update #SurveyTemp
    set Aud = AudOne - AudTwo

    insert into table_survey
    select temp.Com, temp.survey, temp.demo, temp.Wk, temp.Time, temp.aud
    from #SurveyTemp temp

    drop table #SurveyTemp

It is this second script that i need to get working and have spent hours trying to resolve without much luck.
Please let me know if i can provide any more information to help you help me!

Edit:
My expected results would be something like the following:

    com | surveyid | demo  | wk | time | audience
    -------------------------
     1  | LO2017   | A1824 | 1  | 300  |   2.4

But there would be multiple rows where there are multiple 'wk' and 'time' entries. E.g.:

    com | surveyid | demo  | wk | time | audience
    -------------------------
     1  | LO2017   | A1824 | 1  | 100  |   2.4
     1  | LO2017   | A1824 | 1  | 200  |   3.7
     1  | LO2017   | A1824 | 2  | 100  |   2.1
     1  | LO2017   | A1824 | 2  | 200  |   6.2