簡體   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