【发布时间】:2018-01-25 18:34:01
【问题描述】:
我有两个 sql,我想合并为一个(加入两个以获得额外的属性列):
1.主数据:这部分显示公司的详细信息。
SELECT
dim.firm_sys_no "firm_sys_no",
firm_global_id "Firm Global ID"
FROM
FIRM_DETAILS_DIM LEFT OUTER JOIN ACTIVITIES_FACT ON
( FIRM_DETAILS_DIM.FIRM_SYS_NO=AACTIVITIES_FACT.FIRM_SYS_NO )
LEFT OUTER JOIN REPORTING_SALES_ORG_DIM ON
(REPORTING_SALES_ORG_DIM.ORG_SYS_NO=ACTIVITIES_FACT.SALES_ORG_SYS_NO )
INNER JOIN
(select * from REPORTING_SALES_ORG_DIM where EFFECTIVE_END_DATE is null) SALES_ORG_LATEST ON
(REPORTING_SALES_ORG_DIM.SALES_OFFICE_ID=SALES_ORG_LATEST.SALES_OFFICE_ID )
WHERE
(ACTIVITIES_FACT.EFFECTIVE_END_DATE is null )
AND ( FIRM_DETAILS_DIM.FIRM_GLOBAL_ID <> '-1')
AND ( SALES_ORG_LATEST.GLOBAL_REGION_NAME IS NOT Null )
AND ( SALES_ORG_LATEST.global_region_name IS NOT NULL )
GROUP BY
firm_details_dim.firm_sys_no,
firm_details_dim.firm_global_id
ORDER BY
firm_details_dim.firm_global_id,
firm_details_dim.firm_sys_no
2.Lookup/sub-select:返回每个公司全局 ID 的交易计数信息。
SELECT
firm_details_dim.firm_global_id,
(CASE
WHEN round(months_between(current_date, SLS_MONTHLY_TRANS_F.transaction_date),0)>4
THEN 0
ELSE 1
END) "Trs"
FROM SLS_MONTHLY_TRANS_F
INNER JOIN firm_details_dim ON
( firm_details_dim.firm_sys_no=SLS_MONTHLY_TRANS_F.firm_sys_no )
WHERE SLS_MONTHLY_TRANS_F.transaction_amount_usd<>0
GROUP BY
firm_details_dim.firm_global_id,
(CASE
WHEN round(months_between(current_date, SLS_MONTHLY_TRANS_F.transaction_date),0)>4
THEN 0
ELSE 1
END)
我需要得到的 SQL:结合以上两个查询,以便主 sql 将具有第二个 (Trs4m) 的附加列。我的目标是查看 master 中的哪家公司的交易计数为 0 或 1。
【问题讨论】: