我知道Hive不支持这个
element.myR = "X", "XY"
Hive不能在SELECT中执行SELECT(SELECT中的子查询)。
但是,为了一些限制,我不能在FROM子句之后做JOIN。是否有"创意"这样做的方法?我正在考虑解析并传递一个静态列表"来自SELECT (CASE WHEN table1.id in (SELECT table1.id
from table1,table2
where table1.id = table2.id and table2.company like '%My Company%')
THEN table1.email
ELSE regexp_replace(table1.email, substr(table1.email, 1), 'XXXX')
END) as email, table1.id
FROM table1
的单独查询。但这可能会达到数千人。
答案 0 :(得分:2)
如果您可以使用select进行连接,则可以使用左连接并检查空值
SELECT case when t1.id is null
then regexp_replace(table1.email, substr(table1.email, 1), 'XXXX')
else table1.email
end
, table1.id
FROM table1
left join (
SELECT table1.id
from table1,table2
where table1.id = table2.id
and table2.company like '%My Company%'
) t on table1.id = t.id