我目前正在处理有关HIVE的查询,并正在使用SQL Workbench。我想每月从2个表中获取数据。为了引用日期,我使用了另一个包含两列的表:start_Date
和end_date
。 start_Date
包含 month 和开始日期,即01/01/2018。同样,end_date
包含 month 和结束日期,即31/01/2018。
查询内容如下:
select *
from table1 a join
table2 b
on a.pkey = b.pkey
where effective_date >= (select start_Date
from date_table
where year(start_date) = year(current_date) and month(start_date) = month(current_date)
);
但显然它不起作用。
有人可以给我一个解决这个问题的正确方法吗?
让我知道是否有任何疑问。
答案 0 :(得分:0)
我认为这样可以帮助您:
SELECT *
FROM table1 a
JOIN table2 b
ON a.pkey = b.pkey
JOIN (SELECT start_Date
FROM date_table
WHERE year(start_date) = year(current_date)
AND month(start_date) = month(current_date)
) dt
ON a.effective_date >= dt.start_date ;
由于您尚未发布示例数据,所以我没有测试过代码,但我希望它能对您有所帮助。