我编写了以下配置单元查询。在这里,我试图在我的join子句中使用Map数据类型的列(msg)。
Schedule
此查询始终失败,并显示错误消息
select p.p_id, count(*) from prod_json n
inner join res_pan p on n.msg["mid"] = p.id
where n.cat='XYX'
group by p.p_id limit 10;
答案 0 :(得分:0)
我想我能够解决问题。我重新写了我的查询
select t2.p_id, count(*)
from (select cat, msg["mid"] as mid from prod_json) t1
join (select id, p_id from res_pan) t2
on t1.mid = t2.id
where t1.cat = 'XYZ'
group by t2.p_id
所以基本上不要尝试直接使用map列,而是首先使用内部查询将地图拼接成列,然后加入这些列。