尝试在Impala中创建表和视图时,行数不同
我试图在Impala中运行查询,该查询具有与另一个表的左外部联接。表结构如下:
SELECT COUNT (*)
FROM (
SELECT A.*,
B.ORDERED_DATE,
B.PROMISE_DATE,
B.REQUEST_DATE,
B.SCHEDULE_SHIP_DATE,
A.SCHEDULED_START_DATE,
A.SCHEDULED_COMPLETION_DATE,
A.DATE_RELEASED,
A.DATE_COMPLETED,
B.ORDERED_DATE_DT,
B.PROMISE_DATE_DT,
B.REQUEST_DATE_DT,
B.ORDERED_QUANTITY,
a.DEMAND_SOURCE_LINE_NUMBER,
B.FLOW_STATUS_CODE,
A.ORDER_NUMBER
FROM TABLE A
LEFT OUTER JOIN TABLE B
ON (A.DEMAND_SOURCE_LINE_ID) = (B.LINE_ID)
) AAAAA
Demand_source_line_id在此处可以为空。
如果我选择count(*),count(1),则行数总是不同的。同样,内部选择使我的行数不同于外部选择。另外,如果我尝试根据该查询创建视图,则记录计数与如果我根据同一查询创建表的记录计数不同。
有人可以帮我吗?
预计应为3585条记录。我在count(*)上只得到299,而在count(1)上得到662 — 662条记录的需求源行ID不为空。
答案 0 :(得分:0)
如前所述,Demand_source_line_id可以为null,并且您使用的是in条件,因此,您肯定不会获得预期的输出,并且也会影响计数。 您是否可以在条件下使用合并功能,例如Coalesce(A.DEMAND_SOURCE_LINE_ID,-1)= Coalesce(B.LINE_ID,-1)。