Я пытаюсь объединить два разных запроса, которые в основном выполняют одну и ту же функцию. Результаты каждого запроса классифицируются на основе результатов одного столбца. Когда я пытался объединить их, я получаю сообщение об ошибке арифметического переполнения.
Ниже приведена первая строка кода.
select t1.Lives_Category,
Count(t3.clean_ft_ee_cnt) "MVP Number of Clients",
sum(t3.clean_ft_ee_cnt) as "MVP Sum of Lives"
from [mvpGA].[mvp_client_data_t] t3
join
(
select * from
(values ('1-9 Lives',1,9),
('10-49 Lives',10,49),
('50-199 Lives',50,199),
('200-499 Lives',200,499),
('500-1,9999 Lives',500,1999),
('2,000+ Lives',2000,100000000),
('Total Lives',0,100000000),
('500+ Lives',500,1000000000),
('Unknown Lives',0,0)
)
as Base_Table (Lives_Category,MinCnt,MaxCnt)
) t1
on t3.clean_ft_ee_cnt between t1.MinCnt and t1.MaxCnt
where t3.mvp_rpt_id > 1399
and t3.clean_do_not_use_ind is NULL
and t3.clean_client_indv_flag = 'Group'
group by t1.Lives_Category
результаты затем отображаются в виде:
Lives_Category | MVP Number of Clients | MVP Sum of Lives
-----------------------------------------------------------
1-9 Lives | 7565 | 33845
10-49 Lives | 7996 | 191190
50-199 Lives | 6820 | 680157
200-499 Lives | 2281 | 683971
500-1,9999 Lives | 1510 | 1424911
2,000+ Lives | 672 | 8282279
| |
Total Lives | 26929 | 11296353
| |
500+ Lives | 2182 | 9707190
| |
Unknown Lives | 85 | 0
Вторая строка кода здесь и имеет ту же структуру, различие заключается в предложении where. Результаты двух столбцов «Количество клиентов» и «Сумма в реальном времени» должны быть их собственными столбцами. .
select distinct a1.Lives_Category as "Lives Category",
count(t2.clean_ft_ee_cnt) as "Number of Clients",
sum(t2.clean_ft_ee_cnt) as "Sum of Lives"
from [mvpGA].[mvp_client_data_t] t2
join
(
select * from
(values ('1-9 Lives',1,9),
('10-49 Lives',10,49),
('50-199 Lives',50,199),
('200-499 Lives',200,499),
('500-1,9999 Lives',500,1999),
('2,000+ Lives',2000,100000000),
('Total Lives',0,100000000),
('500+ Lives',500,1000000000),
('Unknown Lives',0,0)
)
as Base_Table (Lives_Category,MinCnt,MaxCnt)
) a1
on t2.clean_ft_ee_cnt between a1.MinCnt and a1.MaxCnt
where t2.mvp_rpt_id = 1400
and t2.clean_mvp_rpt_breakout = 'Fargo'
and t2.clean_do_not_use_ind is NULL
and t2.clean_client_indv_flag = 'Group'
group by a1.Lives_Category
Я бы хотел, чтобы конечный результат был 5 столбцами. См. Структуру ниже.
Lives_Category |MVP Количество клиентов |MVP Сумма Жизней |Количество клиентов |Сумма жизней
Итак, резюмируем, результаты классифицированы так же, как показано в категории Lives_Category ..... но я хотел бы иметь 5 столбцов. Примечание: запросы технически рассчитываются для одной и той же таблицы, здесь просто разные предложения where.