Я ищу более элегантное (возможно, более быстрое) решение моего затруднительного положения.TSQL выбрать из другой таблицы в другом месте где
У меня есть следующий запрос для получения отчета о таблице трафика вызовов:
SELECT 'Tariff1' as [Tariff], Count([Number]) as [Number of calls] ,sum(convert(bigint,[Seconds]))/60 as [Minutes], sum([CustomerCost]) as [Customer Cost], sum([WholesaleCost]) as [WholesaleCost]
FROM [MarchCalls]
where [AccNo] in (select [accno] from [Tariffs] where [Tariff] = 'Tariff1')
union
SELECT 'Tariff2' as [Tariff], Count([Number]) as [Number of calls] ,sum(convert(bigint,[Seconds]))/60 as [Minutes], sum([CustomerCost]) as [Customer Cost], sum([WholesaleCost]) as [WholesaleCost]
FROM [MarchCalls]
where [AccNo] in (select [accno] from [Tariffs] where [Tariff] = 'Tariff2')
union
SELECT 'Tariff3' as [Tariff], Count([Number]) as [Number of calls] ,sum(convert(bigint,[Seconds]))/60 as [Minutes], sum([CustomerCost]) as [Customer Cost], sum([WholesaleCost]) as [WholesaleCost]
FROM [MarchCalls]
where [AccNo] in (select [accno] from [Tariffs] where [Tariff] = 'Tariff3')
union
SELECT 'Total' as [Tariff], Count([Number]) as [Number of calls] ,sum(convert(bigint,[Seconds]))/60 as [Minutes], sum([CustomerCost]) as [Customer Cost], sum([WholesaleCost]) as [WholesaleCost]
FROM [MarchCalls]
Пар точек: Convert (BIGINT) необходим из-за объем записей и номер в нем В вернулся записей должен оставаться в этом формате Эти данные (и базы данных) строго только чтение SQL Server 2012
Этот запрос занимает больше времени в конце каждого месяца, и мне нужно, чтобы получить время вниз
Может ли кто-нибудь помочь мне рационализировать это?
изменения союза в союз все – SQLMenace