我需要从表A中获取大于cdc_date的所有记录,该记录存储在另一个tmp_table 中
tmp_table只有一列cdc_date和一条记录。
tableA有超过500万条记录。
我的蜂巢查询
Select count(*) from tableA as a
where unix_timestamp((concat_ws('-',a.year,a.month,a.day,a.hour)),"yyyy-MM-dd-HH") >
(select b.cdc_date from tmp_table as b)
我收到以下错误
Unsupported SubQuery Expression 'cdc_date': Only SubQuery expressions that are top level conjuncts are allowed
有人能建议如何激活它吗。
您需要重写sql-
Select count(*) from tableA as a
Left join tmp_table b
On unix_timestamp((concat_ws('-',a.year,a.month,a.day,a.hour)),"yyyy-MM-dd-HH") >
b.cdc_date
与单行表的交叉联接:
Select count(*)
from tableA as a
cross join tmp_table b
where unix_timestamp((concat_ws('-',a.year,a.month,a.day,a.hour)),"yyyy-MM-dd-HH") > b.cdc_date