I have the below query. IS there a way I can put this into one single query? If not, can I shrink it further anyway? Please advice.
DECLARE @highRegion TABLE(regionId INT, countR INT) DECLARE @lowRegion TABLE(regionId INT, countR INT) DECLARE @midRegion TABLE(regionId INT, countR INT) INSERT INTO @highRegion SELECT c.fRegionID, COUNT(1) AS VALUE FROM census.Country c INNER JOIN census.IncomeGroup ig ON c.fIncomeGroupID = ig.IncomeGroupID WHERE ig.Name IN ('High income: nonOECD', 'High income: OECD') GROUP BY c.fRegionID INSERT INTO @lowRegion SELECT c.fRegionID AS VALUE, COUNT(1) FROM census.Country c INNER JOIN census.IncomeGroup ig ON c.fIncomeGroupID = ig.IncomeGroupID WHERE ig.Name = 'Upper middle income' GROUP BY c.fRegionID INSERT INTO @midRegion SELECT c.fRegionID, COUNT(1) AS VALUE FROM census.Country c INNER JOIN census.IncomeGroup ig ON c.fIncomeGroupID = ig.IncomeGroupID WHERE ig.Name IN ('Lower middle income', 'Low income') GROUP BY c.fRegionID SELECT r.Name, r.NoOfCountries, h.countR AS HIGH, l.countR AS LOW, m.countR AS mid FROM census.Country c INNER JOIN @highRegion h ON c.fRegionID = h.regionId INNER JOIN @lowRegion l ON c.fRegionID = l.regionId INNER JOIN @midRegion m ON c.fRegionID = m.regionId INNER JOIN census.Region r ON c.fRegionID = r.RegionID
mayooran99