[英]Read MySQL JSON column array as rows
我有桌子
X
- id
- name (eg: 'testing')
- array_column_name (eg: ["value1","value2"])
我想要一個查詢,將返回以下輸出。
_____________________
| column1 | column2 |
| testing | value1 |
| testing | value2 |
|_________|_________|
本質上,我需要將數組轉換為行。
我嘗試使用
SELECT name, JSON_EXTRACT(@'array_column_name', '*') FROM X;
但是我不確定要把什么作為JSON_EXTRACT
的第二個參數,因為我的列包含一個普通數組而不是對象數組。
如果您使用的是MySQL> = 8.0.4,則可以使用JSON_TABLE ,否則,實現所需的功能將變得不那么簡單:
SELECT
`X`.`name` `column1`,
`der`.`column2`
FROM
`X`,
JSON_TABLE(
`array_column_name`,
'$[*]'
COLUMNS(
`column2` VARCHAR(255) PATH '$'
)
) `der`;
參見db-fiddle 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.