Select x,y,..,
CASE(
when A.A_code = 'G' THEN
COUNT(DISTINCT CASE
WHEN T.trxn = 'P' THEN
D.A || D.B || D.C
ELSE
NULL
END)
else
0
end p_count,..From..
是我的plsql查询结构。我需要转换它。
我已完全转换内部案例查询成功并执行,
plsql案例条件的内部查询将在PIG中变为
T = LOAD '//transaction_types' USING PigStorage(',') as (id:int,trxn:chararray);
D = LOAD '/home/sterlingpc1/Desktop/det_trades' USING PigStorage(',') as (id:int,A:chararray,B:chararray,C:chararray);
JOINED = JOIN T by id,D by id;
p_count = FOREACH JOINED GENERATE
(case T::trxn
WHEN 'P'
THEN
CONCAT(D::A,D::B,D::C)
ELSE
NULL
END)
在此之前,我需要检查外部条件(A.A_code ='G')。 它看起来像条件。 但是我们需要检查的表字段是不同的。它们来自不同的表 请指导我如何首先检查A.A_code ='G'。然后只执行内部查询。
请尽快给我一个解决方案。提前谢谢!