Getting repetition of same values multiple times while combining two queries
Maybe You need

Select * 
from 
  (
    (select division.name,
            date(meter_data.reading_date) AS reading_date,
            sum(meter_data.meter_delta) 'Gas Consumption (m3)'
     from meter, meter_data, division
     where meter.meter_id = meter_data.meter_id 
       and meter.division_id = division.division_id
       and Date(meter_data.reading_date) between '2018-04-01' and '2018-05-03' 
     group by date(meter_data.reading_date) 
    ) as table1,

    (Select Date(receipt.receipt_date) AS receipt_date, 
            sum(case receipt_item.item_name 
                    when 'Gas' then receipt_item.item_amount else 0 
                end) 'Gas Purchase'
     from receipt_item, receipt
     where receipt.receipt_id = receipt_item.receipt_id
       and Date(receipt.receipt_date) between '2018-04-01' and '2018-05-03'  
     group by Date(receipt.receipt_date)
    ) as table2
  )
WHERE table1.reading_date = table2.receipt_date;


?