Я использую SQL Server 2008 и у меня есть база данных с этой таблицей:Запрос данных в SQL Server
Можете ли вы помочь мне возвращаемые данные запроса, как это:
Это изменение НЕ м OP
Посмотрите, как хочет группы по Дата, Источник
И сумма в день
Я использую SQL Server 2008 и у меня есть база данных с этой таблицей:Запрос данных в SQL Server
Можете ли вы помочь мне возвращаемые данные запроса, как это:
Это изменение НЕ м OP
Посмотрите, как хочет группы по Дата, Источник
И сумма в день
Это не совсем понятно, что вы пытаетесь сделать здесь, но я выстрелил в него. Я не вводил все ваши данные образца, но это должно показать вам, как вы можете это сделать.
if OBJECT_ID('tempdb..#Something') is not null
drop table #Something
create table #Something
(
ReportDate date
, TotalAmount int
, Source varchar(25)
, Platform varchar(25)
)
insert #Something
select '2015-09-01', 120000, 'SmartLink', 'iOS' union all
select '2015-09-01', 204000, 'GooglePlay', 'WinPhone' union all
select '2015-09-01', 135000, 'Apple', 'iOS' union all
select '2015-09-02', 50000, 'GooglePlay', 'Android' union all
select '2015-09-02', 40000, 'Apple', 'iOS' union all
select '2015-09-03', 30000, 'GooglePlay', 'Android' union all
select '2015-09-03', 250000, 'GooglePlay', 'WinPhone';
with SubTotals as
(
select ReportDate
, case when GROUPING(Source) = 1 then 'Total' else Source end as Source
, cast(SUM(case when Platform = 'iOS' then TotalAmount else 0 end)/1000. as numeric(9,3)) as iOS
, cast(SUM(case when Platform = 'Android' then TotalAmount else 0 end)/1000. as numeric(9,3)) as Android
, cast(SUM(case when Platform = 'WinPhone' then TotalAmount else 0 end)/1000. as numeric(9,3)) as WinPhone
, GROUPING(Source) as SortOrder
from #Something
group by ReportDate
, Source
WITH rollup
)
select ReportDate
, Source
, iOS
, Android
, WinPhone
, iOS + Android + WinPhone as RowTotal
from SubTotals
where ReportDate is not null
order by ReportDate, SortOrder, Source desc
Этот вопрос не показывает никаких исследований. –
Пожалуйста, объясните ** на простом английском языке, что вы пытаетесь сделать - не просто сбрасывайте два скриншота на нас и давайте ** угадываем **, что вы хотите ...... пожалуйста, прочитайте [Как сделать спросите ** хороший вопрос?] (http://stackoverflow.com/help/how-to-ask) –
Это выглядит как супер простой запрос. Почему бы вам не попробовать и посмотреть, где вы. Вот подсказка ... вам нужно выражение case для каждого столбца (iOS, Android, WinPhone). –