簡體   English   中英

從SQL中的多數據列中提取數據

[英]Extracting Data from a Multi-Data Column in SQL

我正在HOLISTICS中創建一個銷售排行榜,而“ user_id ”列是一個多數據列。

這是“ user_id”列的快照:

在此處輸入圖片說明

我需要顯示用戶的“名稱”部分。 我嘗試使用CONVERT甚至JSON_VALUE,但Holistics均無法識別。

我使用了CAST,但user_id仍然是數字形式。

這是我的代碼:

在此處輸入圖片說明

這是數據輸出:

在此處輸入圖片說明

您能幫我做什么才能顯示銷售人員的真實姓名嗎?


我是這里的新手,也是我的第一篇文章,這就是為什么我所有的片段都以鏈接形式放置的原因。

要從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可能很慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM