teradata - 从 3 个表中派生 2 个字段 SPEED_UPGRADE 和 TV_PACKAGE
问题描述
我需要从 3 个表中派生 2 个字段 SPEED_UPGRADE 和 TV_PACKAGE。我在下面写了代码。我没有得到介于 start_dt 和 END_DT 之间的“SPEED”和“TV”的正确计数。而是让我计算所有“速度”和“电视”。请优化我的查询。
select <few columns>,
count (case WHEN Cast('2021-11-09 00:00:00' AS TIMESTAMP(0))
BETWEEN a.START_DT AND Coalesce(a.END_DT,Cast('9999-12-31 00:00:00' AS TIMESTAMP FORMAT 'Y4-MM-DDBHH:MI:SS')) AND b.VOUCHER_TYPE_CD='SPEED'
then 1
ELSE 0
end) SPEED_UPGRADE,
count(case WHEN Cast('2021-11-09 00:00:00' AS TIMESTAMP(0))
BETWEEN a.START_DT AND Coalesce(a.END_DT,Cast('9999-12-31 00:00:00' AS TIMESTAMP FORMAT 'Y4-MM-DDBHH:MI:SS')) AND b.VOUCHER_TYPE_CD='TV'
then 1
ELSE 0
end) TV_PACKAGE
FROM
(sel * from P0_view.edw_v_fct_subscriber_household_base where subscriber_status_cd ='Active' and billed_customer_id ='-1' and household_id >0 and household_base_dt='2021-11-09' ) f
right join P0_VIEW.EDW_V_FCT_FIXED_VOUCHER_REDEEMED a on f.CUSTOMER_ID=a.CUSTOMER_ID
left join P0_VIEW.EDW_V_DIM_FIXED_VOUCHER b on a.FIXED_VOUCHER_ID = b.FIXED_VOUCHER_ID
group by 1,2,3,4,5,6,7,8,9 ) q ;
解决方案
推荐阅读
- excel - 合并具有相同值VBA的单元格
- jquery - '如何修复'JQuery Dropdown inside dropdown''
- django - '将 html 表单数据保存在数据库中' django
- google-colaboratory - 如何使用 Colaboratory 进行持久安装?
- php - 具有外部 OpenID 提供程序的 API 平台
- google-cloud-platform - Google Cloud Platform API - 列出计算引擎使用的区域
- java - 如何从命令行安装 pom 文件中提到的插件,而不编译或构建整个项目?
- dev-c++ - 如何修复 dev-c++ 中的“无法保存文件”错误
- r - R:如何相交数据框列表和特定列
- php - 打开原始pdf文件而不是下载它