【问题标题】:How can i filter my start and end dates of one table using Date column from another table如何使用另一个表中的日期列过滤一个表的开始和结束日期
【发布时间】:2019-04-04 01:38:08
【问题描述】:

我有两张表,其中包含以下详细信息。

带有 startdate 和 enddate 列的 Table1。

带有限定日期的表 2。

我想根据table2中的qualifyingdate得到table1的最终结果。

示例:日期为 yyyy-mm-dd 格式

表1:

         startdate   enddate
row1 : 2018-01-01    2018-03-31
row2 : 2018-02-01    2018-03-31
row3 : 2018-04-20    2018-06-30
row4 : 2017-07-01    2018-12-31
row5 : 2019-08-01    2020-11-30

表2:

   QualifyingDate   
row1 : 2018-03-01  
row2 : 2018-01-31  
row3 : 2018-04-20  
row4 : 2018-07-01  
row5 : 2018-08-01

table1 的最终输出:

row1 : 2018-01-01  2018-03-31 (From table2, row1&row2 falls in between)
row2 : 2018-02-01  2018-03-31 (From table2, row1 falls in between)
row3 : 2018-04-20  2018-06-30 (From table2, row3 falls in between)
row4 : 2017-07-01  2018-12-31 (From table2, row1-row5 falls in between)

请帮帮我。

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    你似乎想要:

    select t1.*
    from table1 t1
    where exists (select 1
                  from table2 t2
                  where t2.QualifyingDate between t1.startdate and t1.enddate
                 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-16
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-04
      相关资源
      最近更新 更多