获取在json日期类型中存储为键值对的多个值并显示为列

问题描述 投票:0回答:0

我有一个数据库表,它使用

json
日期类型以键值格式存储销售数据和相关的额外费用。以下是最小结构。

saleID  amount extra_charges
------- ------ ----------------------------------------------------------
123     1000   [{"key": "Handling Charges", "amount": 20}, {"key": "Packing Charges", "amount": 15}]
345     1500   [{"key": "Transportation Charges", "amount": 10}, {"key": "Packing Charges", "amount": 0}]
567     240    [{"key": "Handling Charges", "amount": 10}, {"key": "Transportation Charges", "amount": 20}, {"key": "Packing Charges", "amount": 15}]
...

我想在我的仪表板中以以下格式显示数据:

Sale ID  Amount  Handling Charges   Transportation Charges   Packing Charges
-------  ------  -----------------  -----------------------  ----------------
123      1000    20                 0                        15
345      1500    0                  10                       0
567      240     10                 20                       15
...

我尝试过使用

json_extract
函数来获取数据,但失败了。

json_extract(extra_charges, '$.key')

我该如何为此编写查询?

mysql json key-value
© www.soinside.com 2019 - 2024. All rights reserved.