我正在HOLISTICS中创建一个销售排行榜,并且列“ user_id ”是一个多数据列。
以下是“ user_id”列的快照:
我需要显示用户的“姓名”部分。我尝试使用CONVERT甚至JSON_VALUE,但Holistics均无法识别。
我使用了CAST,但是user_id仍然是数字形式。
这是我的代码:
这是数据输出:
您能帮我做什么才能显示销售人员的真实姓名吗?
我是这里的新手,这是我的第一篇文章,这就是为什么我所有的片段都以链接形式放置的原因。
答案 0 :(得分:0)
要从JSON数据中选择特定字段(而JSON是user_id列中的内容),请尝试以下组合:
SELECT
JSON_UNQUOTE(JSON_EXTRACT(user_id,'$.id')) as id
JSON_UNQUOTE(JSON_EXTRACT(user_id,'$.name')) as user_name
FROM public.deals
这应该从JSON列中返回用户的ID和名称。
无论使用哪种软件,它都可能期望以行列格式检索数据,因此您只需要处理SQL查询,以便它返回格式正确的数据。而且,由于在user_id列中有JSON(这看起来很奇怪,但是没关系),因此JSON_EXTRACT,JSON_UNQUOTE和CAST的组合应该可以解决问题。
但是请记住,使用这些方法在大表上运行DISTINCT
可能会很慢。