各位大神,现有数据包含json格式,数据如下:TABLE:A
event_id object
P10000 {"logType":4,"role":1,"account":"136******21"}
P10001 {"activityId":1,"activityName":"青春真好 - 中学生电影"}
P10002 {"teacherSign":"","receiverIds":"sZeqjkyVTqOWbQ/68SxNTA==,","content":"缴费成功!","sendTime":"2018-10-15 23:47:35"}
另有一份维表
TABLE:B
event_id object_id object_name
P10000 account 账号
P10000 role 角色
P10000 logType 登录方式
P10001 account 账号
P10001 role 角色
P10001 regSource 注册源
P10002 content 内容
P10002 teacherSign 教师署名
P10002 receiverIds 接收人ID
P10002 sendTime 通知发送时间
现考虑,能否关联此维表,在解析json时,用一条sql输出各个event_id对应的object_id 的value,例如
P10000 logType 4
P10000 role 1
P10000 account 136******21
尝试办法:
select m.event_id,d.object_id,get_json_object(m.object,d.object_id) as value
from A m join B d
on m.event_id=d.event_id limit 10;
输出:
P10000 account NULL
P10000 role NULL
P10000 logType NULL
输出value都是null,分析原因是get_json_object的第二个参数一般都是用get_json_object(object,'$.logType')这种方式去解析object的logType
而传入其他表的字段,解析失败导致
各位大神,有没有相关经验,请指导一二,谢谢
|
|