繁体   English   中英

内部联接两个字段上的两个表-日期字段的月份和年份匹配oracle sql

[英]inner join two tables on two fields - matching on month and year for the date field oracle sql

我有两个表,其中日期字段填充有每月数据。 日期字段之一使用月初,一个使用月末。 我正在使用具有两个字段的INNER JOIN,但无法获取日期格式:

SELECT * FROM crd_own.ml_corp_index_data_monthly  tb1
INNER JOIN pm_own.esg_credit_factors tb2 
ON tb1.TICKER = tb2.ISSUER_TICKER
AND to_date('tbl.DATADATE', 'yyyy/mm') =to_date('tb2.AS_OF_DATE', 'yyyy/mm')

使用Oracle,您可以将两个日期都trunc到一个月,然后进行比较。 请不要那样,正如@xQbert所评论的那样,您不想将日期括在引号中,因为这会使Oracle无法正确解释日期。

SELECT * 
FROM 
    crd_own.ml_corp_index_data_monthly  tb1
    INNER JOIN pm_own.esg_credit_factors tb2 
        ON tb1.TICKER = tb2.ISSUER_TICKER
        AND trunc(tb1.DATADATE, 'month') = trunc(tb2.AS_OF_DATE, 'month')

谢谢大家....这工作:

SELECT * FROM crd_own.ml_corp_index_data_monthly  tb1
INNER JOIN pm_own.esg_credit_factors tb2 
ON tb1.TICKER = tb2.ISSUER_TICKER
AND trunc(DATADATE, 'month') = trunc(tb2.AS_OF_DATE, 'month')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM